From 1a677d2b4a4bc615602f8c2a22bc07ec1356e5be Mon Sep 17 00:00:00 2001
From: feiyu02 <risaku@163.com>
Date: 星期四, 16 十月 2025 17:39:06 +0800
Subject: [PATCH] 2025.10.16 1. 根据全局响应增强器GlobalResponseAdvice,将原先的BaseResPack接口包装函数统一去除; 2. 新增三种类型的数据产品数据库实体 3. 新增典型问题场景清单中间数据产品接口

---
 src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/MonitorDeviceInfo.java               |    6 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/web/BgTaskController.kt                     |   12 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/web/DataProdBaseController.kt               |   20 
 src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/ChangeEffect.kt                      |   16 
 src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Province.kt                          |   12 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/UserinfoServiceImpl.kt         |    2 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/web/NightConstructionController.kt          |    2 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/InspectionInfoVo.kt                      |   19 
 src/main/kotlin/cn/flightfeather/supervision/business/autooutput/datasource/AopDataSource.kt        |    1 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/service/DataProdMiddleService.kt            |   11 
 src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Problemtype.kt                       |   31 
 src/main/kotlin/cn/flightfeather/supervision/domain/ds1/mapper/MonitorDeviceInfoMapper.kt           |    2 
 src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Town.kt                              |   10 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/web/EvaluationruleController.kt             |    2 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/web/DataProductController.kt                |    8 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/web/TaskController.kt                       |    6 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/middle/DPTypicalProblemScene.kt |   38 +
 src/main/kotlin/cn/flightfeather/supervision/lightshare/web/MonitorDataController.kt                |    4 
 src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/DustDataResult.java                  |   15 
 src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/ProductionDeviceInfo.java            |   22 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/BaseSearchResultVo.kt                    |    9 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/middle/DPProblemCountByArea.kt  |   41 +
 src/main/kotlin/cn/flightfeather/supervision/lightshare/web/ItemevaluationController.kt             |    6 
 src/main/kotlin/cn/flightfeather/supervision/config/RestExceptionHandler.kt                         |   12 
 src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/SceneDevice.java                     |    4 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/DPSceneInfo.kt                  |    8 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/web/ChangeAdviceController.kt               |    2 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/CityVo.kt                                |   10 
 src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Domaincatalog.kt                     |    7 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/web/DataProdMiddleController.kt             |   32 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/EvaluationServiceImpl.kt       |    7 
 src/main/kotlin/cn/flightfeather/supervision/model/dataproduct/PPListProblemChange.kt               |   24 
 src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Evaluationsubrule.kt                 |   27 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/MonitorDeviceInfoVo.kt                   |    9 
 src/test/kotlin/cn/flightfeather/supervision/lightshare/web/DataProdMiddleControllerTest.kt         |   68 ++
 src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/District.kt                          |    9 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/web/EvaluationController.kt                 |   18 
 src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Evaluation.kt                        |   38 +
 src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Monitorobjectversion.kt              |   23 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/middle/DPInspectionSummary.kt   |    9 
 src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Mediafile.kt                         |   20 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DataProdMiddleServiceImpl.kt   |   43 +
 src/main/kotlin/cn/flightfeather/supervision/lightshare/web/UserMapController.kt                    |    6 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/web/InspectionController.kt                 |    5 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/web/MediafileController.kt                  |    2 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/web/EvaluationsubruleController.kt          |   15 
 src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/SceneMixingPlant.java                |    4 
 src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/City.kt                              |    8 
 src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Userinfo.kt                          |   19 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/middle/DPEvaluationByArea.kt    |   19 
 src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/TreatmentDeviceInfo.java             |    6 
 src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Scense.kt                            |   29 
 src/main/kotlin/cn/flightfeather/supervision/common/executor/BgTaskStatus.kt                        |   11 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/web/OpenApiWordController.java              |    2 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/service/EvaluationService.kt                |   14 
 src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Score.java                           |   13 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/web/CityController.kt                       |    2 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/InspectionVo.kt                          |   20 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/web/ScenseController.kt                     |    6 
 src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Inspection.kt                        |   34 +
 src/main/kotlin/cn/flightfeather/supervision/lightshare/service/ProblemlistService.kt               |    8 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/web/ChangeEffectController.kt               |    2 
 src/main/resources/generator/generatorConfig4ds3.xml                                                |    1 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/DistrictVo.kt                            |   27 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/DPEvaluateInfo.kt               |    7 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/web/SearchController.kt                     |    2 
 src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/DeviceStatus.java                    |   18 
 src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Task.kt                              |   57 +
 src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Subtask.kt                           |   50 +
 src/main/kotlin/cn/flightfeather/supervision/model/dataproduct/PPListProbRecurrence.kt              |   19 
 src/main/resources/generator/generatorConfig4ds1.xml                                                |  111 ++
 src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/AutoScoreResultVo.kt                     |   17 
 src/main/kotlin/cn/flightfeather/supervision/common/utils/AnnotationCopyTool.kt                     |  442 +++++++++++++
 src/main/kotlin/cn/flightfeather/supervision/domain/ds1/repository/UserInfoSVRep.kt                 |    1 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/web/ProblemlistController.kt                |   10 
 src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Problemlist.kt                       |   33 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/middle/DPProblemTypeCount.kt    |    9 
 src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/SceneStorageYard.java                |    4 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/web/SubtaskController.kt                    |    4 
 src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/NightConstruction.java               |   24 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/web/DataProdFinalController.kt              |    2 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/web/DeviceController.kt                     |   14 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/ProblemlistServiceImpl.kt      |   32 
 src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Domainitem.kt                        |   13 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/DPMonitorDataInfo.kt            |    5 
 src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Itemevaluation.kt                    |   21 
 src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/SceneWharf.java                      |    4 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/service/NightConstructionService.kt         |    9 
 src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Evaluationrule.kt                    |   47 +
 src/main/kotlin/cn/flightfeather/supervision/lightshare/web/UserinfoController.kt                   |    2 
 src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/ChangeAdvice.kt                      |   16 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/NightConstructionImpl.kt       |   18 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/DPInspectionInfo.kt             |    7 
 src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Version.kt                           |    9 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/DomainitemVo.kt                          |   53 +
 src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/SceneConstructionSite.java           |    5 
 src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/SearchServiceImpl.kt           |    1 
 97 files changed, 1,801 insertions(+), 183 deletions(-)

diff --git a/src/main/kotlin/cn/flightfeather/supervision/business/autooutput/datasource/AopDataSource.kt b/src/main/kotlin/cn/flightfeather/supervision/business/autooutput/datasource/AopDataSource.kt
index c7db9cf..a0020d3 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/business/autooutput/datasource/AopDataSource.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/business/autooutput/datasource/AopDataSource.kt
@@ -7,7 +7,6 @@
 import cn.flightfeather.supervision.domain.ds2.entity.LedgerSubType
 import cn.flightfeather.supervision.domain.ds2.entity.UserMap
 import cn.flightfeather.supervision.domain.ds2.entity.UserinfoTZ
-import cn.flightfeather.supervision.lightshare.vo.AreaVo
 import cn.flightfeather.supervision.lightshare.vo.EvaluationSubRuleVo
 import org.springframework.beans.BeanUtils
 import tk.mybatis.mapper.entity.Example
diff --git a/src/main/kotlin/cn/flightfeather/supervision/common/executor/BgTaskStatus.kt b/src/main/kotlin/cn/flightfeather/supervision/common/executor/BgTaskStatus.kt
index 93d036a..ce63a3c 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/common/executor/BgTaskStatus.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/common/executor/BgTaskStatus.kt
@@ -2,29 +2,39 @@
 
 import cn.flightfeather.supervision.socket.LocalDateTimeAdapter
 import com.google.gson.annotations.JsonAdapter
+import io.swagger.annotations.ApiModel
+import io.swagger.annotations.ApiModelProperty
 import java.time.Duration
 import java.time.LocalDateTime
 
 /**
  * 鍚庡彴鑰楁椂浠诲姟鐘舵��
  */
+@ApiModel(value = "鍚庡彴鑰楁椂浠诲姟鐘舵��")
 class BgTaskStatus(
+    @ApiModelProperty(value = "浠诲姟绫诲瀷")
     val type: BgTaskType,
+    @ApiModelProperty(value = "浠诲姟id")
     val id: String,
+    @ApiModelProperty(value = "浠诲姟鍚嶇О")
     val name: String,
 ) {
     //    浠诲姟鐘舵��
+    @ApiModelProperty(value = "浠诲姟鐘舵��")
     var status: TaskStatus = TaskStatus.WAITING
 
     //    寮�濮嬫椂闂�
+    @ApiModelProperty(value = "浠诲姟寮�濮嬫椂闂�")
     @JsonAdapter(LocalDateTimeAdapter::class)
     var startTime: LocalDateTime? = null
 
     //    缁撴潫鏃堕棿
+    @ApiModelProperty(value = "浠诲姟缁撴潫鏃堕棿")
     @JsonAdapter(LocalDateTimeAdapter::class)
     var endTime: LocalDateTime? = null
 
     //    鍒涘缓鏃堕棿
+    @ApiModelProperty(value = "浠诲姟鍒涘缓鏃堕棿")
     @JsonAdapter(LocalDateTimeAdapter::class)
     var createTime: LocalDateTime = LocalDateTime.now()
 
@@ -51,6 +61,7 @@
         }
 
     // 棰濆鑷畾涔夐檮甯︿俊鎭�
+    @ApiModelProperty(value = "浠诲姟棰濆鑷畾涔夐檮甯︿俊鎭�")
     var extra: Any? = null
 
 }
diff --git a/src/main/kotlin/cn/flightfeather/supervision/common/utils/AnnotationCopyTool.kt b/src/main/kotlin/cn/flightfeather/supervision/common/utils/AnnotationCopyTool.kt
new file mode 100644
index 0000000..df90404
--- /dev/null
+++ b/src/main/kotlin/cn/flightfeather/supervision/common/utils/AnnotationCopyTool.kt
@@ -0,0 +1,442 @@
+package cn.flightfeather.supervision.common.utils
+
+import java.io.File
+import java.nio.charset.StandardCharsets
+import java.nio.file.Files
+import java.nio.file.Paths
+import java.util.regex.Pattern
+
+/**
+ * 娉ㄨВ澶嶅埗宸ュ叿绫�
+ * 鐢ㄤ簬灏咼ava鏂囦欢涓殑ApiModelProperty娉ㄨВ澶嶅埗鍒癒otlin鏂囦欢涓搴旂殑灞炴��
+ */
+object AnnotationCopyTool {
+
+    /**
+     * 灏嗕竴涓枃浠朵腑鐨凙piModelProperty娉ㄨВ鍜孉piModel绫绘敞瑙e鍒跺埌鍙︿竴涓枃浠朵腑
+     * @param sourceFilePath 婧愭枃浠惰矾寰勶紙鍙互鏄疛ava鎴朘otlin鏂囦欢锛�
+     * @param targetFilePath 鐩爣鏂囦欢璺緞锛堝彲浠ユ槸Java鎴朘otlin鏂囦欢锛�
+     */
+    fun copyAnnotations(sourceFilePath: String, targetFilePath: String) {
+        try {
+            // 1. 楠岃瘉鏂囦欢鏄惁瀛樺湪
+            val sourceFile = File(sourceFilePath)
+            val targetFile = File(targetFilePath)
+
+            if (!sourceFile.exists() || !targetFile.exists()) {
+                println("鏂囦欢涓嶅瓨鍦�: ${if (!sourceFile.exists()) sourceFilePath else targetFilePath}")
+                return
+            }
+
+            // 2. 鑾峰彇鏂囦欢鎵╁睍鍚�
+            val sourceExtension = sourceFile.extension.toLowerCase()
+            val targetExtension = targetFile.extension.toLowerCase()
+
+            // 3. 楠岃瘉鏂囦欢绫诲瀷鏄惁鏀寔
+            if (sourceExtension != "java" && sourceExtension != "kt") {
+                println("婧愭枃浠� $sourceFilePath 涓嶆槸鏈夋晥鐨凧ava鎴朘otlin鏂囦欢")
+                return
+            }
+
+            if (targetExtension != "java" && targetExtension != "kt") {
+                println("鐩爣鏂囦欢 $targetFilePath 涓嶆槸鏈夋晥鐨凧ava鎴朘otlin鏂囦欢")
+                return
+            }
+
+            // 4. 璇诲彇婧愭枃浠跺拰鐩爣鏂囦欢鍐呭
+            val sourceContent = String(Files.readAllBytes(Paths.get(sourceFilePath)), StandardCharsets.UTF_8)
+            val targetContent = String(Files.readAllBytes(Paths.get(targetFilePath)), StandardCharsets.UTF_8)
+
+            // 5. 鎻愬彇婧愭枃浠朵腑鐨勭被绾piModel娉ㄨВ
+            val apiModelAnnotation = extractApiModelAnnotation(sourceContent)
+
+            // 6. 鏍规嵁鏂囦欢绫诲瀷瑙f瀽婧愭枃浠讹紝鎻愬彇灞炴�у拰瀵瑰簲鐨凙piModelProperty娉ㄨВ
+            val sourcePropertiesMap = if (sourceExtension == "java") {
+                parseJavaProperties(sourceContent)
+            } else {
+                parseKotlinPropertiesForAnnotations(sourceContent)
+            }
+
+            // 7. 鏍规嵁鏂囦欢绫诲瀷瑙f瀽鐩爣鏂囦欢锛屾彁鍙栧睘鎬у拰瀵瑰簲鐨凜olumn娉ㄨВ
+            val targetPropertiesMap = if (targetExtension == "java") {
+                parseJavaPropertiesForMapping(targetContent)
+            } else {
+                parseKotlinProperties(targetContent)
+            }
+
+            // 8. 鏍规嵁Column鐨刵ame鍊煎尮閰嶆簮鏂囦欢鍜岀洰鏍囨枃浠朵腑鐨勫睘鎬э紝骞舵瀯寤烘柊鐨勭洰鏍囨枃浠跺唴瀹�
+            val newTargetContent = if (targetExtension == "java") {
+                buildNewJavaContent(targetContent, apiModelAnnotation, sourcePropertiesMap, targetPropertiesMap)
+            } else {
+                buildNewKotlinContent(targetContent, apiModelAnnotation, sourcePropertiesMap, targetPropertiesMap)
+            }
+
+            // 9. 鍐欏叆鏂扮殑鐩爣鏂囦欢鍐呭
+            Files.write(Paths.get(targetFilePath), newTargetContent.toByteArray(StandardCharsets.UTF_8))
+            println("宸叉垚鍔熷皢娉ㄨВ浠� $sourceFilePath 澶嶅埗鍒� $targetFilePath")
+        } catch (e: Exception) {
+            println("澶嶅埗娉ㄨВ鏃跺嚭閿�: ${e.message}")
+            e.printStackTrace()
+        }
+    }
+
+    /**
+     * 浠庢簮鏂囦欢鍐呭涓彁鍙朅piModel绫绘敞瑙�
+     */
+    private fun extractApiModelAnnotation(fileContent: String): String {
+        // 鍖归厤ApiModel娉ㄨВ鐨勬鍒欒〃杈惧紡
+        val pattern = Pattern.compile("@ApiModel\\(.*?\\)", Pattern.DOTALL)
+        val matcher = pattern.matcher(fileContent)
+
+        return if (matcher.find()) {
+            matcher.group(0)
+        } else {
+            ""
+        }
+    }
+
+    /**
+     * 瑙f瀽Java鏂囦欢锛屾彁鍙栧睘鎬у拰瀵瑰簲鐨凙piModelProperty娉ㄨВ
+     */
+    private fun parseJavaProperties(javaContent: String): Map<String, String> {
+        val propertiesMap = mutableMapOf<String, String>()
+
+        // 鍖归厤Java灞炴�х殑姝e垯琛ㄨ揪寮�
+        val pattern = Pattern.compile(
+            "@Column\\(name = \"([^\"]+)\"\\)\\s+(?:@ApiModelProperty\\(value = \"([^\"]+)\"\\)\\s+)?private \\w+ \\w+;"
+        )
+        val matcher = pattern.matcher(javaContent)
+
+        while (matcher.find()) {
+            val columnName = matcher.group(1)
+            val annotationValue = matcher.group(2) ?: ""
+            if (annotationValue.isNotEmpty()) {
+                propertiesMap[columnName] = "@ApiModelProperty(value = \"${annotationValue}\")"
+            }
+        }
+
+        return propertiesMap
+    }
+
+    /**
+     * 瑙f瀽Kotlin鏂囦欢锛屾彁鍙栧睘鎬у拰瀵瑰簲鐨凙piModelProperty娉ㄨВ锛堢敤浜庝粠Kotlin鏂囦欢璇诲彇娉ㄨВ锛�
+     */
+    private fun parseKotlinPropertiesForAnnotations(kotlinContent: String): Map<String, String> {
+        val propertiesMap = mutableMapOf<String, String>()
+
+        // 鍖归厤Kotlin灞炴�х殑姝e垯琛ㄨ揪寮�
+        val pattern = Pattern.compile(
+            "@Column\\(name = \"([^\"]+)\"\\)\\s+(?:@ApiModelProperty\\(value = \"([^\"]+)\"\\)\\s+)?var \\w+:"
+        )
+        val matcher = pattern.matcher(kotlinContent)
+
+        while (matcher.find()) {
+            val columnName = matcher.group(1)
+            val annotationValue = matcher.group(2) ?: ""
+            if (annotationValue.isNotEmpty()) {
+                propertiesMap[columnName] = "@ApiModelProperty(value = \"$annotationValue\")"
+            }
+        }
+
+        return propertiesMap
+    }
+
+    /**
+     * 瑙f瀽Kotlin鏂囦欢锛屾彁鍙栧睘鎬у拰瀵瑰簲鐨凜olumn娉ㄨВ
+     */
+    private fun parseKotlinProperties(kotlinContent: String): Map<String, String> {
+        val propertiesMap = mutableMapOf<String, String>()
+
+        // 鍖归厤Kotlin灞炴�х殑姝e垯琛ㄨ揪寮�
+        val pattern = Pattern.compile(
+            "@Column\\(name = \"([^\"]+)\"\\)\\s+(?:@ApiModelProperty\\(value = \"([^\"]+)\"\\)\\s+)?var (\\w+):"
+        )
+        val matcher = pattern.matcher(kotlinContent)
+
+        while (matcher.find()) {
+            val columnName = matcher.group(1)
+            val propertyName = matcher.group(3)
+            propertiesMap[columnName] = propertyName
+        }
+
+        return propertiesMap
+    }
+
+    /**
+     * 瑙f瀽Java鏂囦欢锛屾彁鍙栧睘鎬у拰瀵瑰簲鐨凜olumn娉ㄨВ锛堢敤浜庢槧灏勫埌Java鏂囦欢锛�
+     */
+    private fun parseJavaPropertiesForMapping(javaContent: String): Map<String, String> {
+        val propertiesMap = mutableMapOf<String, String>()
+
+        // 鍖归厤Java灞炴�х殑姝e垯琛ㄨ揪寮�
+        val pattern = Pattern.compile(
+            "@Column\\(name = \"([^\"]+)\"\\)\\s+(?:@ApiModelProperty\\(value = \"([^\"]+)\"\\)\\s+)?private \\w+ (\\w+);"
+        )
+        val matcher = pattern.matcher(javaContent)
+
+        while (matcher.find()) {
+            val columnName = matcher.group(1)
+            val propertyName = matcher.group(3)
+            propertiesMap[columnName] = propertyName
+        }
+
+        return propertiesMap
+    }
+
+    /**
+     * 鏋勫缓鏂扮殑Kotlin鏂囦欢鍐呭锛屾坊鍔燗piModelProperty娉ㄨВ
+     */
+    private fun buildNewKotlinContent(
+        originalContent: String,
+        apiModelAnnotation: String,
+        sourcePropertiesMap: Map<String, String>,
+        targetPropertiesMap: Map<String, String>,
+    ): String {
+        var newContent = originalContent
+
+//        // 妫�鏌ユ槸鍚﹀凡缁忓鍏ヤ簡ApiModelProperty
+//        if (!originalContent.contains("import io.swagger.annotations.ApiModelProperty")) {
+//            // 鍦ㄥ叾浠杋mport璇彞鍚庢坊鍔犲鍏�
+//            val importPattern = Pattern.compile("(import.*\\n)+")
+//            val importMatcher = importPattern.matcher(newContent)
+//            if (importMatcher.find()) {
+//                val imports = importMatcher.group(0)
+//                val newImports = imports + "import io.swagger.annotations.ApiModelProperty\n"
+//                newContent = newContent.replace(imports, newImports)
+//            }
+//        }
+
+        // 妫�鏌ユ槸鍚﹂渶瑕佹坊鍔爄mport璇彞
+        if ((!originalContent.contains("import io.swagger.annotations.ApiModelProperty") && sourcePropertiesMap.isNotEmpty()) ||
+            (!originalContent.contains("import io.swagger.annotations.ApiModel") && apiModelAnnotation.isNotEmpty())) {
+            val importPattern = Pattern.compile("(import.*\\n)+")
+            val importMatcher = importPattern.matcher(newContent)
+            if (importMatcher.find()) {
+                val imports = importMatcher.group(0)
+                val newImports = StringBuilder(imports)
+
+                if (!originalContent.contains("import io.swagger.annotations.ApiModelProperty") && sourcePropertiesMap.isNotEmpty()) {
+                    newImports.append("import io.swagger.annotations.ApiModelProperty\n")
+                }
+                if (!originalContent.contains("import io.swagger.annotations.ApiModel") && apiModelAnnotation.isNotEmpty()) {
+                    newImports.append("import io.swagger.annotations.ApiModel\n")
+                }
+
+                newContent = newContent.replace(imports, newImports.toString())
+            }
+        }
+
+        // 娣诲姞ApiModel绫绘敞瑙�
+        if (apiModelAnnotation.isNotEmpty()) {
+            // 鏌ユ壘class鍏抽敭瀛楄
+            val classPattern = Pattern.compile("class\\s+\\w+")
+            val classMatcher = classPattern.matcher(newContent)
+
+            if (classMatcher.find()) {
+                val classNameLine = classMatcher.group(0)
+                val startIndex = classMatcher.start()
+                val lines = newContent.lines()
+
+                // 鏌ユ壘绫诲畾涔夋墍鍦ㄧ殑琛�
+                var classLineIndex = 0
+                var currentPosition = 0
+                for ((i, line) in lines.withIndex()) {
+                    if (currentPosition + line.length + 1 > startIndex) {
+                        classLineIndex = i
+                        break
+                    }
+                    currentPosition += line.length + 1
+                }
+
+                // 妫�鏌ョ被瀹氫箟琛岀殑鍓嶄竴琛屾槸鍚﹀凡缁忔湁ApiModel娉ㄨВ
+                if (classLineIndex > 0 && !lines[classLineIndex - 1].trim().startsWith("@ApiModel")) {
+                    val updatedLines = lines.toMutableList()
+                    updatedLines.add(classLineIndex, apiModelAnnotation)
+                    newContent = updatedLines.joinToString("\n")
+                } else if (classLineIndex == 0) {
+                    // 濡傛灉绫诲畾涔夊湪绗竴琛岋紝鍦ㄥ墠闈㈡坊鍔犳敞瑙�
+                    newContent = apiModelAnnotation + "\n" + newContent
+                }
+            }
+        }
+
+        // 涓烘瘡涓狵otlin灞炴�ф坊鍔犲搴旂殑ApiModelProperty娉ㄨВ
+        targetPropertiesMap.forEach { (columnName, propertyName) ->
+            val annotation = sourcePropertiesMap[columnName]
+            if (annotation != null) {
+                // 鏌ユ壘灞炴�у畾涔夎
+                val propertyPattern = Pattern.compile("(@Column\\(name = \"$columnName\"\\))\\s+var $propertyName:")
+                val propertyMatcher = propertyPattern.matcher(newContent)
+
+                if (propertyMatcher.find()) {
+                    // 妫�鏌ユ槸鍚﹀凡缁忓瓨鍦ˋpiModelProperty娉ㄨВ
+                    val columnLine = propertyMatcher.group(0)
+                    if (!columnLine.contains("@ApiModelProperty")) {
+                        // 鍦ˊColumn娉ㄨВ鍚庢坊鍔燖ApiModelProperty娉ㄨВ
+                        val newPropertyLine = "@Column(name = \"$columnName\")\n    $annotation\n    var $propertyName:"
+                        newContent = newContent.replace(columnLine, newPropertyLine)
+                    }
+                }
+            }
+        }
+
+        return newContent
+    }
+
+    /**
+     * 鏋勫缓鏂扮殑Java鏂囦欢鍐呭锛屾坊鍔燗piModelProperty娉ㄨВ
+     */
+    private fun buildNewJavaContent(
+        originalContent: String,
+        apiModelAnnotation: String,
+        sourcePropertiesMap: Map<String, String>,
+        targetPropertiesMap: Map<String, String>,
+    ): String {
+        var newContent = originalContent
+
+        // 妫�鏌ユ槸鍚﹀凡缁忓鍏ヤ簡ApiModelProperty
+        if (!originalContent.contains("import io.swagger.annotations.ApiModelProperty")) {
+            // 鍦ㄥ叾浠杋mport璇彞鍚庢坊鍔犲鍏�
+            val importPattern = Pattern.compile("(import.*\\n)+")
+            val importMatcher = importPattern.matcher(newContent)
+            if (importMatcher.find()) {
+                val imports = importMatcher.group(0)
+                val newImports = imports + "import io.swagger.annotations.ApiModelProperty\n"
+                newContent = newContent.replace(imports, newImports)
+            }
+        }
+        // 妫�鏌ユ槸鍚﹂渶瑕佹坊鍔爄mport璇彞
+        if ((!originalContent.contains("import io.swagger.annotations.ApiModelProperty") && sourcePropertiesMap.isNotEmpty()) ||
+            (!originalContent.contains("import io.swagger.annotations.ApiModel") && apiModelAnnotation.isNotEmpty())) {
+            val importPattern = Pattern.compile("(import.*\\n)+")
+            val importMatcher = importPattern.matcher(newContent)
+            if (importMatcher.find()) {
+                val imports = importMatcher.group(0)
+                val newImports = StringBuilder(imports)
+
+                if (!originalContent.contains("import io.swagger.annotations.ApiModelProperty") && sourcePropertiesMap.isNotEmpty()) {
+                    newImports.append("import io.swagger.annotations.ApiModelProperty\n")
+                }
+                if (!originalContent.contains("import io.swagger.annotations.ApiModel") && apiModelAnnotation.isNotEmpty()) {
+                    newImports.append("import io.swagger.annotations.ApiModel\n")
+                }
+
+                newContent = newContent.replace(imports, newImports.toString())
+            }
+        }
+
+        // 娣诲姞ApiModel绫绘敞瑙�
+        if (apiModelAnnotation.isNotEmpty()) {
+            // 鏌ユ壘class鍏抽敭瀛楄
+            val classPattern = Pattern.compile("public\\s+class\\s+\\w+")
+            val classMatcher = classPattern.matcher(newContent)
+
+            if (classMatcher.find()) {
+                val classNameLine = classMatcher.group(0)
+                val startIndex = classMatcher.start()
+                val lines = newContent.lines()
+
+                // 鏌ユ壘绫诲畾涔夋墍鍦ㄧ殑琛�
+                var classLineIndex = 0
+                var currentPosition = 0
+                for ((i, line) in lines.withIndex()) {
+                    if (currentPosition + line.length + 1 > startIndex) {
+                        classLineIndex = i
+                        break
+                    }
+                    currentPosition += line.length + 1
+                }
+
+                // 妫�鏌ョ被瀹氫箟琛岀殑鍓嶄竴琛屾槸鍚﹀凡缁忔湁ApiModel娉ㄨВ
+                if (classLineIndex > 0 && !lines[classLineIndex - 1].trim().startsWith("@ApiModel")) {
+                    val updatedLines = lines.toMutableList()
+                    updatedLines.add(classLineIndex, apiModelAnnotation)
+                    newContent = updatedLines.joinToString("\n")
+                } else if (classLineIndex == 0) {
+                    // 濡傛灉绫诲畾涔夊湪绗竴琛岋紝鍦ㄥ墠闈㈡坊鍔犳敞瑙�
+                    newContent = apiModelAnnotation + "\n" + newContent
+                }
+            }
+        }
+
+        // 涓烘瘡涓狫ava灞炴�ф坊鍔犲搴旂殑ApiModelProperty娉ㄨВ
+        targetPropertiesMap.forEach { (columnName, propertyName) ->
+            val annotation = sourcePropertiesMap[columnName]
+            if (annotation != null) {
+                // 鏌ユ壘灞炴�у畾涔夎
+                val propertyPattern = Pattern.compile("(@Column\\(name = \"$columnName\"\\))\\s+private \\w+ $propertyName;")
+                val propertyMatcher = propertyPattern.matcher(newContent)
+
+                if (propertyMatcher.find()) {
+                    // 妫�鏌ユ槸鍚﹀凡缁忓瓨鍦ˋpiModelProperty娉ㄨВ
+                    val columnLine = propertyMatcher.group(0)
+                    if (!columnLine.contains("@ApiModelProperty")) {
+                        // 浣跨敤姝e垯琛ㄨ揪寮忔浛鎹紝纭繚绫诲瀷淇濇寔涓嶅彉
+                        val updatedPattern =
+                            Pattern.compile("@Column\\(name = \"$columnName\"\\)\\s+(private \\w+) $propertyName;")
+                        val updatedMatcher = updatedPattern.matcher(newContent)
+                        if (updatedMatcher.find()) {
+                            val propertyTypePart = updatedMatcher.group(1)
+                            val properlyUpdatedLine =
+                                "@Column(name = \"$columnName\")\n    $annotation\n    $propertyTypePart $propertyName;"
+                            newContent = newContent.replace(updatedMatcher.group(0), properlyUpdatedLine)
+                        }
+                    }
+                }
+            }
+        }
+
+        return newContent
+    }
+
+    /**
+     * 鎵归噺澶勭悊鐩綍涓嬬殑鎵�鏈夋枃浠�
+     * @param sourceDir 婧愭枃浠舵墍鍦ㄧ洰褰�
+     * @param targetDir 鐩爣鏂囦欢鎵�鍦ㄧ洰褰�
+     */
+    fun batchCopyAnnotations(sourceDir: String, targetDir: String) {
+        val sourceDirFile = File(sourceDir)
+        val targetDirFile = File(targetDir)
+
+        if (!sourceDirFile.exists() || !targetDirFile.exists()) {
+            println("鎸囧畾鐨勭洰褰曚笉瀛樺湪")
+            return
+        }
+
+        // 鑾峰彇婧愮洰褰曚笅鐨勬墍鏈夋枃浠�
+        val sourceFiles = sourceDirFile.walkTopDown().filter { it.isFile}
+
+        sourceFiles.forEach { sourceFile ->
+            // 鏌ユ壘瀵瑰簲鐨勭洰鏍噆t鏂囦欢
+            val targetFileName = sourceFile.nameWithoutExtension + ".kt"
+            val targetFile = File(targetDirFile, targetFileName)
+
+            if (targetFile.exists()) {
+                copyAnnotations(sourceFile.absolutePath, targetFile.absolutePath)
+                return@forEach
+            }
+
+            // 鏌ユ壘瀵瑰簲鐨勭洰鏍噅ava鏂囦欢
+            val targetFileName1 = sourceFile.nameWithoutExtension + ".java"
+            val targetFile1 = File(targetDirFile, targetFileName1)
+
+            if (targetFile1.exists()) {
+                copyAnnotations(sourceFile.absolutePath, targetFile1.absolutePath)
+            } else {
+                println("鏈壘鍒板搴旂殑鐩爣鏂囦欢: $targetFileName1")
+            }
+        }
+    }
+}
+
+fun main() {
+    AnnotationCopyTool.copyAnnotations(
+        "C:\\work\\ideaProject\\supervision\\src\\main\\kotlin\\cn\\flightfeather\\supervision\\domain\\ds1\\entity2\\Evaluationsubrule" +
+                ".java",
+        "C:\\work\\ideaProject\\supervision\\src\\main\\kotlin\\cn\\flightfeather\\supervision\\domain\\ds1\\entity\\Evaluationsubrule.kt"
+    )
+//    AnnotationCopyTool.batchCopyAnnotations(
+//        "C:\\work\\ideaProject\\supervision\\src\\main\\kotlin\\cn\\flightfeather\\supervision\\domain\\ds1\\entity2",
+//        "C:\\work\\ideaProject\\supervision\\src\\main\\kotlin\\cn\\flightfeather\\supervision\\domain\\ds1\\entity"
+//    )
+}
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/config/RestExceptionHandler.kt b/src/main/kotlin/cn/flightfeather/supervision/config/RestExceptionHandler.kt
index 2d016a5..f01b270 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/config/RestExceptionHandler.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/config/RestExceptionHandler.kt
@@ -1,5 +1,6 @@
 package cn.flightfeather.supervision.config
 
+import cn.flightfeather.supervision.common.exception.BizException
 import cn.flightfeather.supervision.lightshare.vo.BaseResponse
 import org.springframework.http.HttpStatus
 import org.springframework.web.bind.annotation.ExceptionHandler
@@ -24,4 +25,15 @@
     fun exception(e: Exception): BaseResponse<String> {
         return BaseResponse.fail("500", e)
     }
+
+    /**
+     * 涓氬姟寮傚父澶勭悊銆�
+     * @param e the e
+     * @return ResultData
+     */
+    @ExceptionHandler(BizException::class)
+    @ResponseStatus(HttpStatus.OK)
+    fun bizException(e: BizException): BaseResponse<String> {
+        return BaseResponse.fail("200", e)
+    }
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/ChangeAdvice.kt b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/ChangeAdvice.kt
index d6c7bde..548b238 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/ChangeAdvice.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/ChangeAdvice.kt
@@ -3,9 +3,12 @@
 import com.fasterxml.jackson.annotation.JsonInclude
 import java.util.Date
 import javax.persistence.*
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 
 @Table(name = "sm_t_changeadvice")
 @JsonInclude(JsonInclude.Include.NON_NULL)
+@ApiModel(value = "ChangeAdvice")
 class ChangeAdvice {
     /**
      * @return AD_GUID
@@ -15,6 +18,7 @@
      */
     @Id
     @Column(name = "AD_GUID")
+    @ApiModelProperty(value = "涓婚敭16浣峠uid")
     var adGuid: String? = null
         set(adGuid) {
             field = adGuid?.trim { it <= ' ' }
@@ -27,6 +31,7 @@
      * @param adName
      */
     @Column(name = "AD_Name")
+    @ApiModelProperty(value = "鏁存敼寤鸿鍚嶇О")
     var adName: String? = null
         set(adName) {
             field = adName?.trim { it <= ' ' }
@@ -39,6 +44,7 @@
      * @param adProblemtypeguid
      */
     @Column(name = "AD_ProblemTypeGUID")
+    @ApiModelProperty(value = "闂绫诲瀷guid")
     var adProblemtypeguid: String? = null
         set(adProblemtypeguid) {
             field = adProblemtypeguid?.trim { it <= ' ' }
@@ -51,6 +57,7 @@
      * @param adProblemtypename
      */
     @Column(name = "AD_ProblemTypeName")
+    @ApiModelProperty(value = "闂绫诲瀷鍚嶇О")
     var adProblemtypename: String? = null
         set(adProblemtypename) {
             field = adProblemtypename?.trim { it <= ' ' }
@@ -63,6 +70,7 @@
      * @param adUserguid
      */
     @Column(name = "AD_UserGUID")
+    @ApiModelProperty(value = "淇敼鑰呯敤鎴穏uid")
     var adUserguid: String? = null
         set(adUserguid) {
             field = adUserguid?.trim { it <= ' ' }
@@ -75,6 +83,7 @@
      * @param adUsername
      */
     @Column(name = "AD_UserName")
+    @ApiModelProperty(value = "淇敼鑰呯敤鎴峰悕")
     var adUsername: String? = null
         set(adUsername) {
             field = adUsername?.trim { it <= ' ' }
@@ -87,6 +96,7 @@
      * @param adRealname
      */
     @Column(name = "AD_RealName")
+    @ApiModelProperty(value = "淇敼鑰呯敤鎴锋樀绉�")
     var adRealname: String? = null
         set(adRealname) {
             field = adRealname?.trim { it <= ' ' }
@@ -99,6 +109,7 @@
      * @param adCreatedate
      */
     @Column(name = "AD_CreateDate")
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
     var adCreatedate: Date? = null
 
     /**
@@ -108,6 +119,7 @@
      * @param adUpdatedate
      */
     @Column(name = "AD_UpdateDate")
+    @ApiModelProperty(value = "鏇存柊鏃堕棿")
     var adUpdatedate: Date? = null
 
     /**
@@ -117,6 +129,7 @@
      * @param adExtension1
      */
     @Column(name = "AD_Extension1")
+    @ApiModelProperty(value = "閫傜敤鍖哄幙")
     var adExtension1: String? = null
         set(adExtension1) {
             field = adExtension1?.trim { it <= ' ' }
@@ -129,6 +142,7 @@
      * @param adExtension2
      */
     @Column(name = "AD_Extension2")
+    @ApiModelProperty(value = "閫傜敤鍦烘櫙绫诲瀷")
     var adExtension2: String? = null
         set(adExtension2) {
             field = adExtension2?.trim { it <= ' ' }
@@ -141,6 +155,7 @@
      * @param adExtension3
      */
     @Column(name = "AD_Extension3")
+    @ApiModelProperty(value = "鎵╁睍瀛楁涓�")
     var adExtension3: String? = null
         set(adExtension3) {
             field = adExtension3?.trim { it <= ' ' }
@@ -153,6 +168,7 @@
      * @param adRemark
      */
     @Column(name = "AD_Remark")
+    @ApiModelProperty(value = "澶囨敞")
     var adRemark: String? = null
         set(adRemark) {
             field = adRemark?.trim { it <= ' ' }
diff --git a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/ChangeEffect.kt b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/ChangeEffect.kt
index 81ac26e..2dfa9df 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/ChangeEffect.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/ChangeEffect.kt
@@ -3,9 +3,12 @@
 import com.fasterxml.jackson.annotation.JsonInclude
 import java.util.Date
 import javax.persistence.*
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 
 @Table(name = "sm_t_changeeffect")
 @JsonInclude(JsonInclude.Include.NON_NULL)
+@ApiModel(value = "ChangeEffect")
 class ChangeEffect {
     /**
      * @return EF_GUID
@@ -15,6 +18,7 @@
      */
     @Id
     @Column(name = "EF_GUID")
+    @ApiModelProperty(value = "EF_GUID")
     var efGuid: String? = null
         set(efGuid) {
             field = efGuid?.trim { it <= ' ' }
@@ -27,6 +31,7 @@
      * @param efName
      */
     @Column(name = "EF_Name")
+    @ApiModelProperty(value = "EF_Name")
     var efName: String? = null
         set(efName) {
             field = efName?.trim { it <= ' ' }
@@ -39,6 +44,7 @@
      * @param efProblemtypeguid
      */
     @Column(name = "EF_ProblemTypeGUID")
+    @ApiModelProperty(value = "EF_ProblemTypeGUID")
     var efProblemtypeguid: String? = null
         set(efProblemtypeguid) {
             field = efProblemtypeguid?.trim { it <= ' ' }
@@ -51,6 +57,7 @@
      * @param efProblemtypename
      */
     @Column(name = "EF_ProblemTypeName")
+    @ApiModelProperty(value = "EF_ProblemTypeName")
     var efProblemtypename: String? = null
         set(efProblemtypename) {
             field = efProblemtypename?.trim { it <= ' ' }
@@ -63,6 +70,7 @@
      * @param efUserguid
      */
     @Column(name = "EF_UserGUID")
+    @ApiModelProperty(value = "EF_UserGUID")
     var efUserguid: String? = null
         set(efUserguid) {
             field = efUserguid?.trim { it <= ' ' }
@@ -75,6 +83,7 @@
      * @param efUsername
      */
     @Column(name = "EF_UserName")
+    @ApiModelProperty(value = "EF_UserName")
     var efUsername: String? = null
         set(efUsername) {
             field = efUsername?.trim { it <= ' ' }
@@ -87,6 +96,7 @@
      * @param efRealname
      */
     @Column(name = "EF_RealName")
+    @ApiModelProperty(value = "EF_RealName")
     var efRealname: String? = null
         set(efRealname) {
             field = efRealname?.trim { it <= ' ' }
@@ -99,6 +109,7 @@
      * @param efCreatedate
      */
     @Column(name = "EF_CreateDate")
+    @ApiModelProperty(value = "EF_CreateDate")
     var efCreatedate: Date? = null
 
     /**
@@ -108,6 +119,7 @@
      * @param efUpdatedate
      */
     @Column(name = "EF_UpdateDate")
+    @ApiModelProperty(value = "EF_UpdateDate")
     var efUpdatedate: Date? = null
 
     /**
@@ -117,6 +129,7 @@
      * @param efExtension1
      */
     @Column(name = "EF_Extension1")
+    @ApiModelProperty(value = "EF_Extension1")
     var efExtension1: String? = null
         set(efExtension1) {
             field = efExtension1?.trim { it <= ' ' }
@@ -129,6 +142,7 @@
      * @param efExtension2
      */
     @Column(name = "EF_Extension2")
+    @ApiModelProperty(value = "EF_Extension2")
     var efExtension2: String? = null
         set(efExtension2) {
             field = efExtension2?.trim { it <= ' ' }
@@ -141,6 +155,7 @@
      * @param efExtension3
      */
     @Column(name = "EF_Extension3")
+    @ApiModelProperty(value = "EF_Extension3")
     var efExtension3: String? = null
         set(efExtension3) {
             field = efExtension3?.trim { it <= ' ' }
@@ -153,6 +168,7 @@
      * @param efRemark
      */
     @Column(name = "EF_Remark")
+    @ApiModelProperty(value = "EF_Remark")
     var efRemark: String? = null
         set(efRemark) {
             field = efRemark?.trim { it <= ' ' }
diff --git a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/City.kt b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/City.kt
index 8be3d92..a9dc264 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/City.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/City.kt
@@ -4,23 +4,31 @@
 import javax.persistence.Column
 import javax.persistence.Id
 import javax.persistence.Table
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 
 @Table(name = "sm_t_city")
 @JsonInclude(JsonInclude.Include.NON_NULL)
+@ApiModel(value = "City")
 class City {
     @Id
     @Column(name = "C_CityID")
+    @ApiModelProperty(value = "C_CityID")
     var cityid: Int? = null
 
     @Column(name = "P_PronvinceID")
+    @ApiModelProperty(value = "P_PronvinceID")
     var pronvinceid: Int? = null
 
     @Column(name = "C_CityCode")
+    @ApiModelProperty(value = "C_CityCode")
     var citycode: String? = null
 
     @Column(name = "C_CityName")
+    @ApiModelProperty(value = "C_CityName")
     var cityname: String? = null
 
     @Column(name = "C_Station")
+    @ApiModelProperty(value = "C_Station")
     var station: String? = null
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/DeviceStatus.java b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/DeviceStatus.java
index f6f4898..b04ffd1 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/DeviceStatus.java
+++ b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/DeviceStatus.java
@@ -3,83 +3,101 @@
 import java.math.BigDecimal;
 import java.util.Date;
 import javax.persistence.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 
 @Table(name = "di_t_device_status")
+@ApiModel(value = "DeviceStatus")
 public class DeviceStatus {
     @Id
     @Column(name = "DL_ID")
+    @ApiModelProperty(value = "涓婚敭鑷id")
     private Integer dlId;
 
     /**
      * 鎵�灞炶澶噄d
      */
     @Column(name = "DL_Device_Id")
+    @ApiModelProperty(value = "鎵�灞炶澶噄d")
     private Integer dlDeviceId;
 
     /**
      * 璁惧绫诲瀷锛�0锛氱洃鎺ц澶囷紱1锛氬噣鍖栬澶囷紱2锛氫綔涓氳澶囷級
      */
     @Column(name = "DL_Device_Type")
+    @ApiModelProperty(value = "璁惧绫诲瀷锛�0锛氱洃鎺ц澶囷紱1锛氬噣鍖栬澶囷紱2锛氫綔涓氳澶囷級")
     private Byte dlDeviceType;
 
     /**
      * 鎵�灞炲満鏅痠d
      */
     @Column(name = "DL_Scene_GUID")
+    @ApiModelProperty(value = "鎵�灞炲満鏅痠d")
     private String dlSceneGuid;
 
     /**
      * 鍦烘櫙绫诲瀷id
      */
     @Column(name = "DL_Scene_Type_Id")
+    @ApiModelProperty(value = "鍦烘櫙绫诲瀷id")
     private Byte dlSceneTypeId;
 
     /**
      * 璁惧浣嶇疆
      */
     @Column(name = "DL_Location")
+    @ApiModelProperty(value = "璁惧浣嶇疆")
     private String dlLocation;
 
     @Column(name = "DL_Longitude")
+    @ApiModelProperty(value = "缁忓害")
     private BigDecimal dlLongitude;
 
     @Column(name = "DL_Latitude")
+    @ApiModelProperty(value = "绾害")
     private BigDecimal dlLatitude;
 
     /**
      * 瀹夎浣嶇疆鏄惁瑙勮寖
      */
     @Column(name = "DL_Standard")
+    @ApiModelProperty(value = "瀹夎浣嶇疆鏄惁瑙勮寖")
     private Boolean dlStandard;
 
     /**
      * 瀹夎浣嶇疆涓嶈鑼冨師鍥�
      */
     @Column(name = "DL_UnStandard_Reason")
+    @ApiModelProperty(value = "瀹夎浣嶇疆涓嶈鑼冨師鍥�")
     private String dlUnstandardReason;
 
     /**
      * 杩愯鐘舵��(0:鏈仈缃�;1:涓婄嚎涓�;2:涓嬬嚎;3:鎷嗛櫎)
      */
     @Column(name = "DL_Real_Time_Status")
+    @ApiModelProperty(value = "杩愯鐘舵��(0:鏈仈缃�;1:涓婄嚎涓�;2:涓嬬嚎;3:鎷嗛櫎)")
     private Byte dlRealTimeStatus;
 
     /**
      * 璁惧鐜板満鍥剧墖(澶氬紶鍥剧墖鐢�;鍒嗛殧)
      */
     @Column(name = "DL_Pic_Url")
+    @ApiModelProperty(value = "璁惧鐜板満鍥剧墖(澶氬紶鍥剧墖鐢�;鍒嗛殧)")
     private String dlPicUrl;
 
     /**
      * 瑙嗛鍦板潃
      */
     @Column(name = "DL_Video_Url")
+    @ApiModelProperty(value = "瑙嗛鍦板潃")
     private String dlVideoUrl;
 
     @Column(name = "DL_Create_Time")
+    @ApiModelProperty(value = "璁板綍鍒涘缓鏃堕棿")
     private Date dlCreateTime;
 
     @Column(name = "DL_Update_Time")
+    @ApiModelProperty(value = "璁板綍鏇存柊鏃堕棿")
     private Date dlUpdateTime;
 
     /**
diff --git a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/District.kt b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/District.kt
index d8c663d..a064bcc 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/District.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/District.kt
@@ -4,27 +4,36 @@
 import javax.persistence.Column
 import javax.persistence.Id
 import javax.persistence.Table
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 
 @Table(name = "sm_t_district")
 @JsonInclude(JsonInclude.Include.NON_NULL)
+@ApiModel(value = "District")
 class District {
     @Id
     @Column(name = "D_DistrictID")
+    @ApiModelProperty(value = "鍖哄幙id")
     var districtid: Int? = null
 
     @Column(name = "P_ProvinceID")
+    @ApiModelProperty(value = "鎵�灞炵渷浠絠d")
     var provinceid: Int? = null
 
     @Column(name = "C_CityID")
+    @ApiModelProperty(value = "鎵�灞炲煄甯俰d")
     var cityid: Int? = null
 
     @Column(name = "D_DistrictCode")
+    @ApiModelProperty(value = "鍖哄幙琛屾斂缂栧彿")
     var districtcode: String? = null
 
     @Column(name = "D_DistrictName")
+    @ApiModelProperty(value = "鍖哄幙鍚嶇О")
     var districtname: String? = null
 
     @Column(name = "D_Station")
+    @ApiModelProperty(value = "D_Station")
     var station: String? = null
 
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Domaincatalog.kt b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Domaincatalog.kt
index dc2ab6a..6696d5d 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Domaincatalog.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Domaincatalog.kt
@@ -4,20 +4,27 @@
 import javax.persistence.Column
 import javax.persistence.Id
 import javax.persistence.Table
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 
 @Table(name = "sm_t_domaincatalog")
 @JsonInclude(JsonInclude.Include.NON_NULL)
+@ApiModel(value = "Domaincatalog")
 public class Domaincatalog {
     @Id
     @Column(name = "DC_GUID")
+    @ApiModelProperty(value = "鍩熷�肩被鍒玤uid")
     var guid: String? = null
 
     @Column(name = "DC_Name")
+    @ApiModelProperty(value = "鍩熷�肩被鍒悕绉�")
     var name: String? = null
 
     @Column(name = "DC_Capacity")
+    @ApiModelProperty(value = "DC_Capacity")
     var capacity: Int? = null
 
     @Column(name = "DC_Version")
+    @ApiModelProperty(value = "鐗堟湰")
     var version: Int? = null
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Domainitem.kt b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Domainitem.kt
index a2c0b31..dadb909 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Domainitem.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Domainitem.kt
@@ -4,38 +4,51 @@
 import javax.persistence.Column
 import javax.persistence.Id
 import javax.persistence.Table
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 
 @Table(name = "sm_t_domainitem")
 @JsonInclude(JsonInclude.Include.NON_NULL)
+@ApiModel(value = "Domainitem")
 public class Domainitem {
     @Id
     @Column(name = "DI_GUID")
+    @ApiModelProperty(value = "鍩熷�兼潯鐩甮uid")
     var guid: String? = null
 
     @Column(name = "DC_GUID")
+    @ApiModelProperty(value = "鍩熷�肩被鍨媑uid")
     var dcguid: String? = null
 
     @Column(name = "DI_CatelogName")
+    @ApiModelProperty(value = "鍩熷�肩被鍨嬪悕绉�")
     var catelogname: String? = null
 
     @Column(name = "DI_Value")
+    @ApiModelProperty(value = "鍩熷�肩殑鍊�")
     var value: String? = null
 
     @Column(name = "DI_Text")
+    @ApiModelProperty(value = "鍩熷�兼弿杩�")
     var text: String? = null
 
     @Column(name = "DI_Index")
+    @ApiModelProperty(value = "鍩熷�肩储寮�")
     var index: Int? = null
 
     @Column(name = "DI_ParentGUID")
+    @ApiModelProperty(value = "DI_ParentGUID")
     var parentguid: String? = null
 
     @Column(name = "DI_IsEnable")
+    @ApiModelProperty(value = "鏄惁鍙敤")
     var isenable: Boolean? = null
 
     @Column(name = "DI_Code")
+    @ApiModelProperty(value = "鍩熷�间唬鐮�")
     var code: String? = null
 
     @Column(name = "DI_Remark")
+    @ApiModelProperty(value = "澶囨敞")
     var remark: String? = null
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/DustDataResult.java b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/DustDataResult.java
index b6b9ab4..29330e1 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/DustDataResult.java
+++ b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/DustDataResult.java
@@ -2,77 +2,92 @@
 
 import java.util.Date;
 import javax.persistence.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 
 @Table(name = "ea_t_dust_data_result")
+@ApiModel(value = "DustDataResult")
 public class DustDataResult {
     @Id
     @Column(name = "DR_Id")
+    @ApiModelProperty(value = "涓婚敭鑷id")
     private Integer drId;
 
     /**
      * 鍦烘櫙id
      */
     @Column(name = "DR_Scene_Id")
+    @ApiModelProperty(value = "鍦烘櫙id")
     private String drSceneId;
 
     /**
      * 鍦烘櫙鍚嶇О
      */
     @Column(name = "DR_Scene_Name")
+    @ApiModelProperty(value = "鍦烘櫙鍚嶇О")
     private String drSceneName;
 
     /**
      * 璁惧缂栧彿
      */
     @Column(name = "DR_Device_Code")
+    @ApiModelProperty(value = "璁惧缂栧彿")
     private String drDeviceCode;
 
     /**
      * 璁板綍鏈堜唤
      */
     @Column(name = "DR_Time")
+    @ApiModelProperty(value = "璁板綍鏈堜唤")
     private Date drTime;
 
     /**
      * 瓒呮爣娆℃暟
      */
     @Column(name = "DR_Exceed_Times")
+    @ApiModelProperty(value = "瓒呮爣娆℃暟")
     private Integer drExceedTimes;
 
     /**
      * 骞冲潎鍊�
      */
     @Column(name = "DR_Avg")
+    @ApiModelProperty(value = "骞冲潎鍊�")
     private Double drAvg;
 
     /**
      * 鏈�澶у��
      */
     @Column(name = "DR_Max")
+    @ApiModelProperty(value = "鏈�澶у��")
     private Double drMax;
 
     /**
      * 鏈�灏忓��
      */
     @Column(name = "DR_Min")
+    @ApiModelProperty(value = "鏈�灏忓��")
     private Double drMin;
 
     /**
      * 瓒呭尯鍘垮潎鍊肩櫨鍒嗘瘮
      */
     @Column(name = "DR_Over_Avg_Per")
+    @ApiModelProperty(value = "瓒呭尯鍘垮潎鍊肩櫨鍒嗘瘮")
     private Double drOverAvgPer;
 
     /**
      * 鏈夋晥鏁版嵁鏉℃暟
      */
     @Column(name = "DR_Data_Num")
+    @ApiModelProperty(value = "鏈夋晥鏁版嵁鏉℃暟")
     private Integer drDataNum;
 
     /**
      * 鏁版嵁鏈夋晥鐜�
      */
     @Column(name = "DR_Effective_Rate")
+    @ApiModelProperty(value = "鏁版嵁鏈夋晥鐜�")
     private Double drEffectiveRate;
 
     /**
diff --git a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Evaluation.kt b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Evaluation.kt
index 03f125d..71d157e 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Evaluation.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Evaluation.kt
@@ -5,122 +5,160 @@
 import javax.persistence.Column
 import javax.persistence.Id
 import javax.persistence.Table
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 
 @Table(name = "ea_t_evaluation")
 @JsonInclude(JsonInclude.Include.NON_NULL)
+@ApiModel(value = "Evaluation")
 open class Evaluation {
     @Id
     @Column(name = "E_GUID")
+    @ApiModelProperty(value = "E_GUID")
     var guid: String? = null
 
     @Column(name = "I_GUID")
+    @ApiModelProperty(value = "I_GUID")
     var iguid: String? = null
 
     @Column(name = "ST_GUID")
+    @ApiModelProperty(value = "ST_GUID")
     var stguid: String? = null
 
     @Column(name = "S_GUID")
+    @ApiModelProperty(value = "S_GUID")
     var sguid: String? = null
 
     /**
      * 浠庡�煎煙琛ㄨ幏鍙�
      */
     @Column(name = "E_ScenseTypeID")
+    @ApiModelProperty(value = "浠庡�煎煙琛ㄨ幏鍙�")
     var scensetypeid: Byte? = null
 
     /**
      * 浠庡�煎煙琛ㄨ幏鍙�
      */
     @Column(name = "E_ScenseType")
+    @ApiModelProperty(value = "浠庡�煎煙琛ㄨ幏鍙�")
     var scensetype: String? = null
 
     @Column(name = "E_SubScenseTypeID")
+    @ApiModelProperty(value = "E_SubScenseTypeID")
     var subscensetypeid: Byte? = null
 
     @Column(name = "E_SubScenseType")
+    @ApiModelProperty(value = "E_SubScenseType")
     var subscensetype: String? = null
 
     /**
      * 1瑙勮寖鑰冩牳 2璇勫垎 99鍏朵粬
      */
     @Column(name = "E_ERType")
+    @ApiModelProperty(value = "1瑙勮寖鑰冩牳 2璇勫垎 99鍏朵粬")
     var ertype: Byte? = null
 
     @Column(name = "E_ProvinceCode")
+    @ApiModelProperty(value = "E_ProvinceCode")
     var provincecode: String? = null
 
     @Column(name = "E_ProvinceName")
+    @ApiModelProperty(value = "E_ProvinceName")
     var provincename: String? = null
 
     @Column(name = "E_CityCode")
+    @ApiModelProperty(value = "E_CityCode")
     var citycode: String? = null
 
     @Column(name = "E_CityName")
+    @ApiModelProperty(value = "E_CityName")
     var cityname: String? = null
 
     @Column(name = "E_DistrictCode")
+    @ApiModelProperty(value = "E_DistrictCode")
     var districtcode: String? = null
 
     @Column(name = "E_DistrictName")
+    @ApiModelProperty(value = "E_DistrictName")
     var districtname: String? = null
 
     @Column(name = "E_TownCode")
+    @ApiModelProperty(value = "E_TownCode")
     var towncode: String? = null
 
     @Column(name = "E_TownName")
+    @ApiModelProperty(value = "E_TownName")
     var townname: String? = null
 
     @Column(name = "E_ScenseName")
+    @ApiModelProperty(value = "E_ScenseName")
     var scensename: String? = null
 
     @Column(name = "E_ScenseAddress")
+    @ApiModelProperty(value = "E_ScenseAddress")
     var scenseaddress: String? = null
 
     @Column(name = "E_EvaluateTime")
+    @ApiModelProperty(value = "E_EvaluateTime")
     var evaluatetime: Date? = null
 
     @Column(name = "E_EvaluatorGUID")
+    @ApiModelProperty(value = "E_EvaluatorGUID")
     var evaluatorguid: String? = null
 
     @Column(name = "E_EvaluatoruserName")
+    @ApiModelProperty(value = "E_EvaluatoruserName")
     var evaluatorusername: String? = null
 
     @Column(name = "E_EvaluatorRealName")
+    @ApiModelProperty(value = "E_EvaluatorRealName")
     var evaluatorrealname: String? = null
 
     @Column(name = "E_ResultStandardBef")
+    @ApiModelProperty(value = "E_ResultStandardBef")
     var resultstandardbef: String? = null
 
     @Column(name = "E_ResultScoreBef")
+    @ApiModelProperty(value = "E_ResultScoreBef")
     var resultscorebef: String? = null
 
     @Column(name = "E_PromissedNum")
+    @ApiModelProperty(value = "E_PromissedNum")
     var promissednum: Int? = null
 
     @Column(name = "E_ChangedNum")
+    @ApiModelProperty(value = "E_ChangedNum")
     var changednum: Int? = null
 
     @Column(name = "ResultStandardAft")
+    @ApiModelProperty(value = "ResultStandardAft")
     var resultstandardaft: String? = null
 
     @Column(name = "E_ResultScoreAft")
+    @ApiModelProperty(value = "E_ResultScoreAft")
     var resultscoreaft: String? = null
 
     @Column(name = "E_CreateDate")
+    @ApiModelProperty(value = "E_CreateDate")
     var createdate: Date? = null
 
     @Column(name = "E_UpdateDate")
+    @ApiModelProperty(value = "E_UpdateDate")
     var updatedate: Date? = null
 
     @Column(name = "E_Extension1")
+    @ApiModelProperty(value = "E_Extension1")
     var extension1: String? = null
 
     @Column(name = "E_Extension2")
+    @ApiModelProperty(value = "E_Extension2")
     var extension2: String? = null
 
     @Column(name = "E_Extension3")
+    @ApiModelProperty(value = "E_Extension3")
     var extension3: String? = null
 
     @Column(name = "E_Remark")
+    @ApiModelProperty(value = "E_Remark")
     var remark: String? = null
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Evaluationrule.kt b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Evaluationrule.kt
index e636136..6f34a4b 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Evaluationrule.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Evaluationrule.kt
@@ -5,170 +5,217 @@
 import javax.persistence.Column
 import javax.persistence.Id
 import javax.persistence.Table
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 
 @Table(name = "sm_t_evaluationrule")
 @JsonInclude(JsonInclude.Include.NON_NULL)
+@ApiModel(value = "Evaluationrule")
 public class Evaluationrule {
     @Id
     @Column(name = "ER_GUID")
+    @ApiModelProperty(value = "璇勪及瑙勫垯guid")
     var guid: String? = null
 
     @Column(name = "ER_RuleName")
+    @ApiModelProperty(value = "璇勪及瑙勫垯鍚嶇О")
     var rulename: String? = null
 
     /**
      * 浠庡�煎煙琛ㄨ幏鍙栵紙1 瑙勮寖鎬ц�冩牳锛�2 璇勫垎锛�
      */
     @Column(name = "ER_RuleType")
+    @ApiModelProperty(value = "璇勪及瑙勫垯绫诲瀷")
     var ruletype: String? = null
 
     /**
      * 浠庡�煎煙琛ㄨ幏鍙�
      */
     @Column(name = "ER_TaskTypeID")
+    @ApiModelProperty(value = "閫傜敤浠诲姟绫诲瀷id")
     var tasktypeid: Byte? = null
 
     /**
      * 浠庡�煎煙琛ㄨ幏鍙�
      */
     @Column(name = "ER_TaskType")
+    @ApiModelProperty(value = "閫傜敤浠诲姟绫诲瀷")
     var tasktype: String? = null
 
     /**
      * 浠庡�煎煙琛ㄨ幏鍙�
      */
     @Column(name = "ER_ScenseTypeID")
+    @ApiModelProperty(value = "鍦烘櫙绫诲瀷id")
     var scensetypeid: Byte? = null
 
     /**
      * 浠庡�煎煙琛ㄨ幏鍙�
      */
     @Column(name = "ER_ScenseType")
+    @ApiModelProperty(value = "鍦烘櫙绫诲瀷")
     var scensetype: String? = null
 
     /**
      * 浠庡�煎煙琛ㄨ幏鍙�
      */
     @Column(name = "ER_ScenseSubTypeID")
+    @ApiModelProperty(value = "鍦烘櫙瀛愮被鍨媔d")
     var scensesubtypeid: Byte? = null
 
     /**
      * 浠庡�煎煙琛ㄨ幏鍙�
      */
     @Column(name = "ER_ScenseSubType")
+    @ApiModelProperty(value = "鍦烘櫙瀛愮被鍨�")
     var scensesubtype: String? = null
 
     /**
      * 鑻ユ槸瑙勮寖鎬э紝浠庡�煎煙绫诲埆琛ㄤ腑鑾峰彇瑙勮寖鎬у�煎煙
      */
     @Column(name = "ER_ResultRange")
+    @ApiModelProperty(value = "缁撴灉鑼冨洿")
     var resultrange: String? = null
 
     @Column(name = "ER_ProvinceCode")
+    @ApiModelProperty(value = "鍖哄幙缂栧彿")
     var provincecode: String? = null
 
     @Column(name = "ER_ProvinceName")
+    @ApiModelProperty(value = "鍖哄幙")
     var provincename: String? = null
 
     @Column(name = "ER_CityCode")
+    @ApiModelProperty(value = "鍩庡競缂栧彿")
     var citycode: String? = null
 
     @Column(name = "ER_CityName")
+    @ApiModelProperty(value = "鍩庡競")
     var cityname: String? = null
 
     @Column(name = "ER_DistrictCode")
+    @ApiModelProperty(value = "鍖哄幙缂栧彿")
     var districtcode: String? = null
 
     @Column(name = "ER_DistrictName")
+    @ApiModelProperty(value = "鍖哄幙")
     var districtname: String? = null
 
     @Column(name = "ER_TownCode")
+    @ApiModelProperty(value = "琛楅晣缂栧彿")
     var towncode: String? = null
 
     @Column(name = "ER_TownName")
+    @ApiModelProperty(value = "琛楅晣")
     var townname: String? = null
 
     /**
      * 浠庡�煎煙琛ㄨ幏鍙栵紙1 鐪侊紱2 鍦板競锛�3 鍖哄幙锛�4 琛楅晣锛�5 娣峰悎锛�
      */
     @Column(name = "ER_Suitable")
+    @ApiModelProperty(value = "ER_Suitable")
     var suitable: Boolean? = null
 
     /**
      * 浠庡�煎煙琛ㄨ幏鍙栵紙1 鐪侊紱2 鍦板競锛�3 鍖哄幙锛�4 琛楅晣锛�5 娣峰悎锛�
      */
     @Column(name = "ER_IsUse")
+    @ApiModelProperty(value = "鏄惁鍙敤")
     var isuse: Boolean? = null
 
     @Column(name = "ER_StartTime")
+    @ApiModelProperty(value = "寮�濮嬫椂闂�")
     var starttime: Date? = null
 
     @Column(name = "ER_EndTime")
+    @ApiModelProperty(value = "缁撴潫鏃堕棿")
     var endtime: Date? = null
 
     @Column(name = "ER_FinallyUseTime")
+    @ApiModelProperty(value = "鏈�鍚庝娇鐢ㄦ椂闂�")
     var finallyusetime: Date? = null
 
     @Column(name = "ER_1stVerifierGUID")
+    @ApiModelProperty(value = "棣栦綅瀹℃牳鑰卛d")
     var er1stverifierguid: String? = null
 
     @Column(name = "ER_1stVerifierUserName")
+    @ApiModelProperty(value = "棣栦綅瀹℃牳鑰呯敤鎴峰悕")
     var er1stverifierusername: String? = null
 
     @Column(name = "ER_1stVerifierRealName")
+    @ApiModelProperty(value = "棣栦綅瀹℃牳鑰呮樀绉�")
     var er1stverifierrealname: String? = null
 
     @Column(name = "ER_1stVerifyTime")
+    @ApiModelProperty(value = "棣栨瀹℃牳鏃堕棿")
     var er1stverifytime: Date? = null
 
     @Column(name = "ER_1stIsVerify")
+    @ApiModelProperty(value = "棣栨瀹℃牳缁撴灉")
     var er1stisverify: Boolean? = null
 
     @Column(name = "ER_2ndVerifierGUID")
+    @ApiModelProperty(value = "澶嶆牳鐢ㄦ埛id")
     var er2ndverifierguid: String? = null
 
     @Column(name = "ER_2ndVerifierUserName")
+    @ApiModelProperty(value = "澶嶆牳鐢ㄦ埛鍚嶇О")
     var er2ndverifierusername: String? = null
 
     @Column(name = "ER_2ndVerifierRealName")
+    @ApiModelProperty(value = "澶嶆牳鐢ㄦ埛鏄电О")
     var er2ndverifierrealname: String? = null
 
     @Column(name = "ER_2ndVerifyTime")
+    @ApiModelProperty(value = "澶嶆牳鏃堕棿")
     var er2ndverifytime: Date? = null
 
     @Column(name = "ER_2ndIsVerify")
+    @ApiModelProperty(value = "澶嶆牳缁撴灉")
     var er2ndisverify: Boolean? = null
 
     @Column(name = "ER_3rdVerifierGUID")
+    @ApiModelProperty(value = "鍐嶆澶嶆牳鐢ㄦ埛id")
     var er3rdverifierguid: String? = null
 
     @Column(name = "ER_3rdVerifierUserName")
+    @ApiModelProperty(value = "鍐嶆澶嶆牳鐢ㄦ埛鍚嶇О")
     var er3rdverifierusername: String? = null
 
     @Column(name = "ER_3rdVerifierRealName")
+    @ApiModelProperty(value = "鍐嶆澶嶆牳鐢ㄦ埛鏄电О")
     var er3rdverifierrealname: String? = null
 
     @Column(name = "ER_3rdVerifyTime")
+    @ApiModelProperty(value = "鍐嶆澶嶆牳鏃堕棿")
     var er3rdverifytime: Date? = null
 
     @Column(name = "ER_3rdIsVerify")
+    @ApiModelProperty(value = "鍐嶆澶嶆牳缁撴灉")
     var er3rdisverify: Boolean? = null
 
     @Column(name = "ESR_CreateDate")
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
     var createdate: Date? = null
 
     @Column(name = "ESR_UpdateDate")
+    @ApiModelProperty(value = "鏇存柊鏃堕棿")
     var updatedate: Date? = null
 
     @Column(name = "ER_Extension1")
+    @ApiModelProperty(value = "鎵╁睍瀛楁涓�")
     var extension1: String? = null
 
     @Column(name = "ER_Extension2")
+    @ApiModelProperty(value = "鎵╁睍瀛楁浜�")
     var extension2: String? = null
 
     @Column(name = "ER_Extension3")
+    @ApiModelProperty(value = "鎵╁睍瀛楁涓�")
     var extension3: String? = null
 
     @Column(name = "ER_Remark")
+    @ApiModelProperty(value = "澶囨敞")
     var remark: String? = null
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Evaluationsubrule.kt b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Evaluationsubrule.kt
index b0ff97a..29033fb 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Evaluationsubrule.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Evaluationsubrule.kt
@@ -1,111 +1,136 @@
 package cn.flightfeather.supervision.domain.ds1.entity
 
 import com.fasterxml.jackson.annotation.JsonInclude
-import java.util.*
+import java.util.Date
 import javax.persistence.Column
 import javax.persistence.Id
 import javax.persistence.Table
+import io.swagger.annotations.ApiModelProperty
+import io.swagger.annotations.ApiModel
 
 @Table(name = "sm_t_evaluationsubrule")
 @JsonInclude(JsonInclude.Include.NON_NULL)
+@ApiModel(value = "Evaluationsubrule")
 public class Evaluationsubrule {
     @Id
     @Column(name = "ESR_GUID")
+    @ApiModelProperty(value = "ESR_GUID")
     var guid: String? = null
 
     /**
      * 鍏宠仈涓昏〃
      */
     @Column(name = "ER_GUID")
+    @ApiModelProperty(value = "瀵瑰簲璇勪及瑙勫垯id")
     var erguid: String? = null
 
     /**
      * 浠庡�煎煙琛ㄨ幏鍙栵紙1瑙勮寖鑰冩牳椤� 2璇勫垎澶ч」 3璇勫垎灏忛」 4 鏈�灏忚瘎鍒嗛」锛�
      */
     @Column(name = "ESR_ERType")
+    @ApiModelProperty(value = "瑙勫垯椤轰綅锛堣捣濮嬩负2锛屾寜鍖呭惈鍏崇郴閫掑锛�")
     var ertype: Boolean? = null
 
     /**
      * 琚笂灞傝�冩牳璇勪及椤瑰寘鍚�,涓虹┖鍒欐棤鐖堕」
      */
     @Column(name = "ESR_FatherID")
+    @ApiModelProperty(value = "瀵瑰簲鐖剁骇瑙勫垯id")
     var fatherid: String? = null
 
     /**
      * 鍗崇埗椤圭殑鑰冩牳椤瑰悕绉帮紝鍙负绌�
      */
     @Column(name = "ESR_FatherName")
+    @ApiModelProperty(value = "瀵瑰簲鐖剁骇瑙勫垯")
     var fathername: String? = null
 
     /**
      * 1 鏄�  2鍚�
      */
     @Column(name = "ESR_UsedAnalyse")
+    @ApiModelProperty(value = "ESR_UsedAnalyse")
     var usedanalyse: Boolean? = null
 
     @Column(name = "ESR_ItemName")
+    @ApiModelProperty(value = "瑙勫垯鍚嶇О")
     var itemname: String? = null
 
     @Column(name = "ESR_ItemDescription")
+    @ApiModelProperty(value = "ESR_ItemDescription")
     var itemdescription: String? = null
 
     @Column(name = "ESR_MinScore")
+    @ApiModelProperty(value = "鏈�浣庡緱鍒�")
     var minscore: Int? = null
 
     @Column(name = "ESR_MaxScore")
+    @ApiModelProperty(value = "鏈�楂樺緱鍒�")
     var maxscore: Int? = null
 
     /**
      * 鐢ㄤ簬鍒涘缓璇勫垎琛ㄦ牸搴忓彿鏄剧ず鍜屾樉绀洪『搴忔帶鍒�,涓嶄负绌�
      */
     @Column(name = "ESR_DisplayID")
+    @ApiModelProperty(value = "鏄剧ず椤哄簭")
     var displayid: Byte? = null
 
     /**
      * 1 绗竴绾� 2 绗簩绾� ...
      */
     @Column(name = "ESR_DisplayLevel")
+    @ApiModelProperty(value = "鏄剧ず绾у埆锛岀被浼糆RTYPE")
     var displaylevel: Byte? = null
 
     /**
      * 瑙勮寖璇勪及鍒欎负锛�1  2  3锛� 璇勫垎鍒欎负锛氭渶楂樻渶浣庡潎鍊� 涓嶄负绌�
      */
     @Column(name = "ESR_DefaultValue")
+    @ApiModelProperty(value = "榛樿寰楀垎")
     var defaultvalue: String? = null
 
     /**
      * PL_GUID,闂琛ㄦ竻鍗旾D锛屽厑璁稿涓� 锛屽垎鍓�
      */
     @Column(name = "ESR_ProblemList")
+    @ApiModelProperty(value = "ESR_ProblemList")
     var problemlist: String? = null
 
     /**
      * NG_GUID锛岀幇鏈夋妧闃睮D锛屽厑璁稿涓� 锛屽垎鍓�
      */
     @Column(name = "ESR_GitList")
+    @ApiModelProperty(value = "ESR_GitList")
     var gitlist: String? = null
 
     /**
      * 鐜版湁璁惧淇℃伅ID锛屽厑璁稿涓� 锛屽垎鍓�
      */
     @Column(name = "ESR_DeviceList")
+    @ApiModelProperty(value = "ESR_DeviceList")
     var devicelist: String? = null
 
     @Column(name = "ESR_CreateDate")
+    @ApiModelProperty(value = "ESR_CreateDate")
     var createdate: Date? = null
 
     @Column(name = "ESR_UpdateDate")
+    @ApiModelProperty(value = "ESR_UpdateDate")
     var updatedate: Date? = null
 
     @Column(name = "ESR_Extension1")
+    @ApiModelProperty(value = "ESR_Extension1")
     var extension1: String? = null
 
     @Column(name = "ESR_Extension2")
+    @ApiModelProperty(value = "ESR_Extension2")
     var extension2: String? = null
 
     @Column(name = "ESR_Extension3")
+    @ApiModelProperty(value = "ESR_Extension3")
     var extension3: String? = null
 
     @Column(name = "ESR_Remark")
+    @ApiModelProperty(value = "璇存槑")
     var remark: String? = null
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Inspection.kt b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Inspection.kt
index 7885eac..8612f61 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Inspection.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Inspection.kt
@@ -5,110 +5,144 @@
 import javax.persistence.Column
 import javax.persistence.Id
 import javax.persistence.Table
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 
 @Table(name = "im_t_inspection")
 @JsonInclude(JsonInclude.Include.NON_NULL)
+@ApiModel(value = "Inspection")
 public class Inspection {
     @Id
     @Column(name = "I_GUID")
+    @ApiModelProperty(value = "涓婚敭16浣峠uid")
     var guid: String? = null
 
     @Column(name = "ST_GUID")
+    @ApiModelProperty(value = "宸℃煡浠诲姟guid")
     var stguid: String? = null
 
     @Column(name = "S_GUID")
+    @ApiModelProperty(value = "鍦烘櫙guid")
     var sguid: String? = null
 
     @Column(name = "I_ScenseName")
+    @ApiModelProperty(value = "鍦烘櫙鍚嶇О")
     var scensename: String? = null
 
     @Column(name = "I_ScenseAddress")
+    @ApiModelProperty(value = "鍦烘櫙鍦板潃")
     var scenseaddress: String? = null
 
     @Column(name = "I_IsTogether")
+    @ApiModelProperty(value = "鏄惁鐢ㄦ埛涓�璧风洃绠�")
     var istogether: Boolean? = null
 
     @Column(name = "I_EntourageT")
+    @ApiModelProperty(value = "I_EntourageT")
     var entouraget: String? = null
 
     @Column(name = "I_EntourageWX")
+    @ApiModelProperty(value = "I_EntourageWX")
     var entouragewx: String? = null
 
     @Column(name = "I_Entourage")
+    @ApiModelProperty(value = "I_Entourage")
     var entourage: String? = null
 
     @Column(name = "I_ExecutionStartTime")
+    @ApiModelProperty(value = "璇勪及寮�濮嬫椂闂�")
     var executionstarttime: Date? = null
 
     @Column(name = "I_ExecutionEndTime")
+    @ApiModelProperty(value = "璇勪及缁撴潫鏃堕棿")
     var executionendtime: Date? = null
 
     @Column(name = "I_ProblemCount")
+    @ApiModelProperty(value = "闂鏁伴噺")
     var problemcount: Int? = null
 
     /**
      * 鍏ㄩ儴澶嶆牳鍒欎负true
      */
     @Column(name = "I_IsRechecked")
+    @ApiModelProperty(value = "鍏ㄩ儴澶嶆牳鍒欎负true")
     var isrechecked: Boolean? = null
 
     @Column(name = "I_RecheckCount")
+    @ApiModelProperty(value = "闂澶嶆牳鏁伴噺")
     var recheckcount: Int? = null
 
     @Column(name = "I_PromissedNum")
+    @ApiModelProperty(value = "闂鎵胯鏁存敼鏁伴噺")
     var promissednum: Int? = null
 
     @Column(name = "I_ChangedNum")
+    @ApiModelProperty(value = "闂鏁存敼鏁�")
     var changednum: Int? = null
 
     /**
      * 鍏ㄩ儴鏁存敼鍒欎负true
      */
     @Column(name = "I_IsChanged")
+    @ApiModelProperty(value = "鍏ㄩ儴鏁存敼鍒欎负true")
     var ischanged: Boolean? = null
 
     @Column(name = "I_IsRvaluated")
+    @ApiModelProperty(value = "I_IsRvaluated")
     var isrvaluated: Boolean? = null
 
     @Column(name = "I_isPromissed")
+    @ApiModelProperty(value = "鏄惁鎵胯鏁存敼")
     var ispromissed: Boolean? = null
 
     @Column(name = "I_PromissedTime")
+    @ApiModelProperty(value = "鎵胯鏃堕棿")
     var promissedtime: Date? = null
 
     @Column(name = "I_PromissedUserGUID")
+    @ApiModelProperty(value = "鎵胯鐢ㄦ埛guid")
     var promisseduserguid: String? = null
 
     @Column(name = "I_PromissedUserName")
+    @ApiModelProperty(value = "鎵胯鐢ㄦ埛鍚嶇О")
     var promissedusername: String? = null
 
     @Column(name = "I_PromissedUserRealName")
+    @ApiModelProperty(value = "鎵胯鐢ㄦ埛鏄电О")
     var promisseduserrealname: String? = null
 
     @Column(name = "I_PromissedWay")
+    @ApiModelProperty(value = "鎵胯鏂瑰紡")
     var promissedway: String? = null
 
     /**
      * 璁板綍鎴鏃堕棿
      */
     @Column(name = "I_PromissedDeadline")
+    @ApiModelProperty(value = "鎵胯鎴鏃堕棿")
     var promisseddeadline: Date? = null
 
     @Column(name = "I_PromissBookPath")
+    @ApiModelProperty(value = "鎵胯涔﹁矾寰�")
     var promissbookpath: String? = null
 
     @Column(name = "I_SignPath")
+    @ApiModelProperty(value = "绛惧瓧璺緞")
     var signpath: String? = null
 
     @Column(name = "I_Extension1")
+    @ApiModelProperty(value = "鎵╁睍瀛楁涓�")
     var extension1: String? = null
 
     @Column(name = "I_Extension2")
+    @ApiModelProperty(value = "鎵╁睍瀛楁浜�")
     var extension2: String? = null
 
     @Column(name = "I_Extension3")
+    @ApiModelProperty(value = "鎵╁睍瀛楁涓�")
     var extension3: String? = null
 
     @Column(name = "I_Remark")
+    @ApiModelProperty(value = "澶囨敞")
     var remark: String? = null
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Itemevaluation.kt b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Itemevaluation.kt
index c8d0311..5e8afdf 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Itemevaluation.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Itemevaluation.kt
@@ -4,60 +4,74 @@
 import javax.persistence.Column
 import javax.persistence.Id
 import javax.persistence.Table
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 
 @Table(name = "ea_t_itemevaluation")
 @JsonInclude(JsonInclude.Include.NON_NULL)
+@ApiModel(value = "Itemevaluation")
 open class Itemevaluation {
     @Id
     @Column(name = "IE_GUID")
+    @ApiModelProperty(value = "涓婚敭16浣峠uid")
     var ieguid: String? = null
 
     @Column(name = "I_GUID")
+    @ApiModelProperty(value = "宸℃煡璁板綍id")
     var iguid: String? = null
 
     @Column(name = "ST_GUID")
+    @ApiModelProperty(value = "鐩戠瀛愪换鍔d")
     var stguid: String? = null
 
     @Column(name = "S_GUID")
+    @ApiModelProperty(value = "鍦烘櫙guid")
     var sguid: String? = null
 
     @Column(name = "IE_SenseName")
+    @ApiModelProperty(value = "鍦烘櫙鍚嶇О")
     var sensename: String? = null
 
     /**
      * 寮曠敤鑷�冩牳瑙勮寖琛�
      */
     @Column(name = "ER_GUID")
+    @ApiModelProperty(value = "寮曠敤鑷�冩牳瑙勮寖琛�")
     var erguid: String? = null
 
     /**
      * 寮曠敤鑷�冩牳瑙勮寖琛�
      */
     @Column(name = "IE_RuleName")
+    @ApiModelProperty(value = "寮曠敤鑷�冩牳瑙勮寖琛�")
     var rulename: String? = null
 
     /**
      * 1瑙勮寖鎬�  2璇勫垎
      */
     @Column(name = "IE_RuleType")
+    @ApiModelProperty(value = "1瑙勮寖鎬�  2璇勫垎")
     var ruletype: Int? = null
 
     /**
      * 1瑙勮寖鑰冩牳椤� 4 鏈�灏忚瘎鍒嗛」
      */
     @Column(name = "IE_ERType")
+    @ApiModelProperty(value = "1瑙勮寖鑰冩牳椤� 4 鏈�灏忚瘎鍒嗛」")
     var ertype: Int? = null
 
     /**
      * 寮曠敤鑷�冩牳瑙勮寖椤瑰瓙琛�
      */
     @Column(name = "ESR_GUID")
+    @ApiModelProperty(value = "寮曠敤鑷�冩牳瑙勮寖椤瑰瓙琛�")
     var esrguid: String? = null
 
     /**
      * 寮曠敤鑷�冩牳瑙勮寖椤瑰瓙琛�
      */
     @Column(name = "IE_Name")
+    @ApiModelProperty(value = "寮曠敤鑷�冩牳瑙勮寖椤瑰瓙琛�")
     var name: String? = null
 
     /**
@@ -66,6 +80,7 @@
      * 涓嶄负绌�
      */
     @Column(name = "IE_Value")
+    @ApiModelProperty(value = "瑙勮寖璇勪及鍒欎负锛氣垰 脳 鈥� 璇勫垎鍒欎负锛氭暟鍊� 涓嶄负绌�")
     var value: String? = null
 
     /**
@@ -74,6 +89,7 @@
      * 涓嶄负绌�
      */
     @Column(name = "IE_ResultAfter")
+    @ApiModelProperty(value = "瑙勮寖璇勪及鍒欎负锛氣垰 脳 鈥� 璇勫垎鍒欎负锛氭暟鍊� 涓嶄负绌�")
     var resultafter: String? = null
 
     /**
@@ -82,17 +98,22 @@
      * 涓嶄负绌�
      */
     @Column(name = "IE_RecheckValue")
+    @ApiModelProperty(value = "瑙勮寖璇勪及鍒欎负锛氣垰 脳 鈥� 璇勫垎鍒欎负锛氭暟鍊� 涓嶄负绌�")
     var vecheckvalue: String? = null
 
     @Column(name = "IE_Extension1")
+    @ApiModelProperty(value = "鎵╁睍瀛楁涓�")
     var extension1: String? = null
 
     @Column(name = "IE_Extension2")
+    @ApiModelProperty(value = "鎵╁睍瀛楁浜�")
     var extension2: String? = null
 
     @Column(name = "IE_Extension3")
+    @ApiModelProperty(value = "鎵╁睍瀛楁涓�")
     var extension3: String? = null
 
     @Column(name = "IE_Remark")
+    @ApiModelProperty(value = "澶囨敞")
     var remark: String? = null
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Mediafile.kt b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Mediafile.kt
index b925a1b..c849894 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Mediafile.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Mediafile.kt
@@ -6,71 +6,91 @@
 import javax.persistence.Column
 import javax.persistence.Id
 import javax.persistence.Table
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 
 @Table(name = "im_t_mediafile")
 @JsonInclude(JsonInclude.Include.NON_NULL)
+@ApiModel(value = "Mediafile")
 open class Mediafile {
     @Id
     @Column(name = "MF_GUID")
+    @ApiModelProperty(value = "濯掍綋鏂囦欢涓婚敭guid")
     var guid: String? = null
 
     @Column(name = "I_GUID")
+    @ApiModelProperty(value = "宸℃煡璁板綍guid")
     var iguid: String? = null
 
     /**
      * 鏍规嵁MF_BusinessType鎻掍笉鍚岃〃鐨凣UID锛屽闂琛ㄣ�佹妧闃叉帾鏂借〃
      */
     @Column(name = "MF_BusinessGUID")
+    @ApiModelProperty(value = "鏍规嵁MF_BusinessType鎻掍笉鍚岃〃鐨凣UID锛屽闂琛ㄣ�佹妧闃叉帾鏂借〃")
     var businessguid: String? = null
 
     @Column(name = "MF_Longitude")
+    @ApiModelProperty(value = "缁忓害")
     var longitude: BigDecimal? = null
 
     @Column(name = "MF_Latitude")
+    @ApiModelProperty(value = "绾害")
     var latitude: BigDecimal? = null
 
     @Column(name = "MF_Address")
+    @ApiModelProperty(value = "鍦板潃")
     var address: String? = null
 
     /**
      * 1鍥剧墖 2闊抽 3瑙嗛
      */
     @Column(name = "MF_FileType")
+    @ApiModelProperty(value = "1鍥剧墖 2闊抽 3瑙嗛")
     var filetype: Int? = null
 
     @Column(name = "MF_BusinessTypeID")
+    @ApiModelProperty(value = "鏂囦欢绫诲瀷id")
     var businesstypeid: Byte? = null
 
     /**
      * 1. 闂锛�2鎶�闃叉帾鏂斤紱3鐩戞祴璁惧锛�4娌荤悊璁剧疆锛�5 甯歌璁板綍锛�99 鍏朵粬
      */
     @Column(name = "MF_BusinessType")
+    @ApiModelProperty(value = "1. 闂锛�2鎶�闃叉帾鏂斤紱3鐩戞祴璁惧锛�4娌荤悊璁剧疆锛�5 甯歌璁板綍锛�99 鍏朵粬")
     var businesstype: String? = null
 
     @Column(name = "MF_Path")
+    @ApiModelProperty(value = "鏂囦欢鍦ˋPP涓殑瀛樺偍璺緞")
     var path: String? = null
 
     @Column(name = "MF_Description")
+    @ApiModelProperty(value = "鏂囦欢鍚嶇О")
     var description: String? = null
 
     @Column(name = "MF_SaveTime")
+    @ApiModelProperty(value = "淇濆瓨鏃堕棿")
     var savetime: Date? = null
 
     /**
      * 鍚︿负鏁存敼鍓嶇殑鍥剧墖
      */
     @Column(name = "MF_IsChanged")
+    @ApiModelProperty(value = "鍚︿负鏁存敼鍓嶇殑鍥剧墖")
     var ischanged: Boolean? = null
 
     @Column(name = "MF_Extension1")
+    @ApiModelProperty(value = "鏂囦欢鏈嶅姟鍣ㄥ瓨鍌ㄨ矾寰�")
     var extension1: String? = null
 
     @Column(name = "MF_Extension2")
+    @ApiModelProperty(value = "鎵╁睍瀛楁浜�")
     var extension2: String? = null
 
     @Column(name = "MF_Extension3")
+    @ApiModelProperty(value = "鎵╁睍瀛楁涓�")
     var extension3: String? = null
 
     @Column(name = "MF_Remark")
+    @ApiModelProperty(value = "澶囨敞")
     var remark: String? = null
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/MonitorDeviceInfo.java b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/MonitorDeviceInfo.java
index 330c355..afd4664 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/MonitorDeviceInfo.java
+++ b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/MonitorDeviceInfo.java
@@ -4,10 +4,12 @@
 import io.swagger.annotations.ApiModelProperty;
 import java.util.Date;
 import javax.persistence.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 
-@ApiModel(value = "MonitorDeviceInfo")
 @Table(name = "di_t_monitor_device_info")
-public class MonitorDeviceInfo {
+@ApiModel(value = "MonitorDeviceInfo")
+public class MonitorDeviceInfo implements BaseDevice{
     /**
      * 涓婚敭鑷id
      */
diff --git a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Monitorobjectversion.kt b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Monitorobjectversion.kt
index 9570628..505b8c8 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Monitorobjectversion.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Monitorobjectversion.kt
@@ -4,86 +4,109 @@
 import javax.persistence.Column
 import javax.persistence.Id
 import javax.persistence.Table
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+
+
 
 @Table(name = "sm_t_monitorobjectversion")
 @JsonInclude(JsonInclude.Include.NON_NULL)
+@ApiModel(value = "Monitorobjectversion")
 open class Monitorobjectversion {
     @Id
     @Column(name = "MOV_ID")
+    @ApiModelProperty(value = "涓婚敭16浣峠uid")
     var movid: String? = null
 
     /**
      * 浠诲姟GUID锛屾湀浠诲姟鎴栦富浠诲姟绛夐《灞備换鍔�
      */
     @Column(name = "T_ID")
+    @ApiModelProperty(value = "浠诲姟GUID锛屾湀浠诲姟鎴栦富浠诲姟绛夐《灞備换鍔�")
     var tid: String? = null
 
     /**
      * 浠庡満鏅〃鑾峰彇
      */
     @Column(name = "S_GUID")
+    @ApiModelProperty(value = "鍦烘櫙guid锛屼粠鍦烘櫙琛ㄨ幏鍙�")
     var sguid: String? = null
 
     /**
      * 浠庡満鏅〃鑾峰彇
      */
     @Column(name = "MOV_SenseName")
+    @ApiModelProperty(value = "鍦烘櫙鍚嶇О锛屼粠鍦烘櫙琛ㄨ幏鍙�")
     var sensename: String? = null
 
     /**
      * 浠庡�煎煙琛ㄤ腑鑾峰彇
      */
     @Column(name = "MOV_TaskTypeID")
+    @ApiModelProperty(value = "浠诲姟绫诲瀷id锛屼粠鍊煎煙琛ㄤ腑鑾峰彇")
     var tasktypeid: Byte? = null
 
     /**
      * 浠庡�煎煙琛ㄤ腑鑾峰彇
      */
     @Column(name = "MOV_TaskType")
+    @ApiModelProperty(value = "浠诲姟绫诲瀷锛屼粠鍊煎煙琛ㄤ腑鑾峰彇")
     var tasktype: String? = null
 
     /**
      * 榛樿涓�娆★紝鍙娆�
      */
     @Column(name = "MOV_MonitorNum")
+    @ApiModelProperty(value = "璁″垝鐩戠娆℃暟锛岄粯璁や竴娆★紝鍙娆�")
     var monitornum: Int? = null
 
     @Column(name = "MOV_Suitable")
+    @ApiModelProperty(value = "MOV_Suitable")
     var suitable: Boolean? = null
 
     /**
      * 鍙敤浜庢帓搴忋�佹爣璁颁綅缃�
      */
     @Column(name = "MOV_DisplayID")
+    @ApiModelProperty(value = "鍙敤浜庢帓搴忋�佹爣璁颁綅缃�")
     var displayid: Int? = null
 
     @Column(name = "MOV_Year")
+    @ApiModelProperty(value = "璁″垝骞翠唤")
     var year: Int? = null
 
     @Column(name = "MOV_Month")
+    @ApiModelProperty(value = "璁″垝鏈堜唤")
     var month: Int? = null
 
     @Column(name = "MOV_Day")
+    @ApiModelProperty(value = "璁″垝鏃ユ湡")
     var day: Int? = null
 
     /**
      * 鑻ヤ负鐪燂紝鍒欏純鐢ㄦ湀浠藉拰鏃ュ瓧娈碉紝鐩存帴鍙栫敤鑷畾涔夋椂娈靛��
      */
     @Column(name = "MOV_ISCP")
+    @ApiModelProperty(value = "鑻ヤ负鐪燂紝鍒欏純鐢ㄦ湀浠藉拰鏃ュ瓧娈碉紝鐩存帴鍙栫敤鑷畾涔夋椂娈靛��")
     var iscp: Boolean? = null
 
     @Column(name = "MOV_CustomPeriod")
+    @ApiModelProperty(value = "鑷畾涔夋椂娈靛��")
     var customperiod: String? = null
 
     @Column(name = "MOV_Extension1")
+    @ApiModelProperty(value = "宸茬洃绠¢娆�")
     var extension1: String? = null
 
     @Column(name = "MOV_Extension2")
+    @ApiModelProperty(value = "鎵╁睍瀛楁浜�")
     var extension2: String? = null
 
     @Column(name = "MOV_Extension3")
+    @ApiModelProperty(value = "鎵╁睍瀛楁涓�")
     var extension3: String? = null
 
     @Column(name = "MOV_Remark")
+    @ApiModelProperty(value = "澶囨敞")
     var remark: String? = null
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/NightConstruction.java b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/NightConstruction.java
index 38c75f8..6ccda73 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/NightConstruction.java
+++ b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/NightConstruction.java
@@ -2,107 +2,131 @@
 
 import java.util.Date;
 import javax.persistence.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 
 @Table(name = "sm_t_night_construction")
+@ApiModel(value = "NightConstruction")
 public class NightConstruction {
     @Id
     @Column(name = "NC_Id")
+    @ApiModelProperty(value = "涓婚敭鑷id")
     private Integer ncId;
 
     /**
      * 澶滈棿鏂藉伐缂栧彿
      */
     @Column(name = "NC_Num")
+    @ApiModelProperty(value = "澶滈棿鏂藉伐鏂囦欢缂栧彿")
     private String ncNum;
 
     /**
      * 椤圭洰鍚嶇О
      */
     @Column(name = "NC_Item_Name")
+    @ApiModelProperty(value = "澶滈棿鏂藉伐椤圭洰鍚嶇О")
     private String ncItemName;
 
     /**
      * 椤圭洰鍗曚綅
      */
     @Column(name = "NC_Item_Unit")
+    @ApiModelProperty(value = "澶滈棿鏂藉伐鍗曚綅")
     private String ncItemUnit;
 
     @Column(name = "NC_Province_Code")
+    @ApiModelProperty(value = "鐪佷唤浠g爜")
     private String ncProvinceCode;
 
     @Column(name = "NC_Province_Name")
+    @ApiModelProperty(value = "鐪佷唤鍚嶇О")
     private String ncProvinceName;
 
     @Column(name = "NC_City_Code")
+    @ApiModelProperty(value = "鍩庡競浠g爜")
     private String ncCityCode;
 
     @Column(name = "NC_City_Name")
+    @ApiModelProperty(value = "鍩庡競鍚嶇О")
     private String ncCityName;
 
     @Column(name = "NC_District_Code")
+    @ApiModelProperty(value = "鍖哄幙浠g爜")
     private String ncDistrictCode;
 
     @Column(name = "NC_District_Name")
+    @ApiModelProperty(value = "鍖哄幙鍚嶇О")
     private String ncDistrictName;
 
     /**
      * 鏂藉伐鍗曚綅
      */
     @Column(name = "NC_Construction_Unit")
+    @ApiModelProperty(value = "寤虹瓚鍗曚綅")
     private String ncConstructionUnit;
 
     /**
      * 宸ュ湴璐熻矗浜�
      */
     @Column(name = "NC_Person")
+    @ApiModelProperty(value = "鐢宠浜�")
     private String ncPerson;
 
     /**
      * 鏂藉伐鍐呭
      */
     @Column(name = "NC_Apply_Content")
+    @ApiModelProperty(value = "鐢宠鏂藉伐鍐呭")
     private String ncApplyContent;
 
     /**
      * 澶滈棿鏂藉伐寮�濮嬫椂闂�
      */
     @Column(name = "NC_Start_Date")
+    @ApiModelProperty(value = "鏂藉伐寮�濮嬫棩鏈�")
     private Date ncStartDate;
 
     /**
      * 澶滈棿鏂藉伐缁撴潫鏃堕棿
      */
     @Column(name = "NC_End_Date")
+    @ApiModelProperty(value = "鏂藉伐缁撴潫鏃ユ湡")
     private Date ncEndDate;
 
     /**
      * 鏂囦欢鍚嶇О
      */
     @Column(name = "NC_File_Name")
+    @ApiModelProperty(value = "鏂囦欢鍚嶇О")
     private String ncFileName;
 
     /**
      * 鍒涘缓鏃堕棿
      */
     @Column(name = "NC_Create_Time")
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
     private Date ncCreateTime;
 
     /**
      * 鏂囦欢涓嬭浇璺緞
      */
     @Column(name = "NC_Url")
+    @ApiModelProperty(value = "鏂囦欢涓嬭浇鍦板潃")
     private String ncUrl;
 
     @Column(name = "NC_User_Id")
+    @ApiModelProperty(value = "瀵瑰簲鍦烘櫙鐢ㄦ埛id")
     private String ncUserId;
 
     @Column(name = "NC_Scene_Id")
+    @ApiModelProperty(value = "瀵瑰簲鍦烘櫙瀵硅薄id")
     private String ncSceneId;
 
     /**
      * 闃呰鐘舵��
      */
     @Column(name = "NC_Read")
+    @ApiModelProperty(value = "鐢ㄦ埛鏄惁宸查槄璇荤鏀�")
     private Boolean ncRead;
 
     /**
diff --git a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Problemlist.kt b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Problemlist.kt
index 8e04d61..572e550 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Problemlist.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Problemlist.kt
@@ -6,104 +6,137 @@
 import javax.persistence.Column
 import javax.persistence.Id
 import javax.persistence.Table
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 
 @Table(name = "im_t_problemlist")
 @JsonInclude(JsonInclude.Include.NON_NULL)
+@ApiModel(value = "Problemlist")
 open class Problemlist {
     @Id
     @Column(name = "PL_GUID")
+    @ApiModelProperty(value = "涓婚敭16浣峠uid")
     var guid: String? = null
 
     @Column(name = "I_GUID")
+    @ApiModelProperty(value = "宸℃煡璁板綍guid")
     var iguid: String? = null
 
     @Column(name = "ST_GUID")
+    @ApiModelProperty(value = "宸℃煡浠诲姟璁板綍guid")
     var stguid: String? = null
 
     @Column(name = "S_GUID")
+    @ApiModelProperty(value = "鍦烘櫙guid")
     var sguid: String? = null
 
     @Column(name = "PL_SenseName")
+    @ApiModelProperty(value = "鍦烘櫙鍚嶇О")
     var sensename: String? = null
 
     @Column(name = "PL_SenseAddress")
+    @ApiModelProperty(value = "鍦烘櫙鍦板潃")
     var senseaddress: String? = null
 
     @Column(name = "PT_GUID")
+    @ApiModelProperty(value = "闂绫诲瀷guid")
     var ptguid: String? = null
 
     @Column(name = "PL_ProblemName")
+    @ApiModelProperty(value = "闂鍚嶇О")
     var problemname: String? = null
 
     @Column(name = "PL_Longitude")
+    @ApiModelProperty(value = "闂鎵�鍦ㄧ粡搴�")
     var longitude: BigDecimal? = null
 
     @Column(name = "PL_Latitude")
+    @ApiModelProperty(value = "闂鎵�鍦ㄧ含搴�")
     var latitude: BigDecimal? = null
 
     @Column(name = "PL_LocationID")
+    @ApiModelProperty(value = "闂浣嶇疆缂栧彿")
     var locationid: Byte? = null
 
     @Column(name = "PL_Location")
+    @ApiModelProperty(value = "闂浣嶇疆")
     var location: String? = null
 
     @Column(name = "PL_Time")
+    @ApiModelProperty(value = "闂璁板綍鏃堕棿")
     var time: Date? = null
 
     @Column(name = "PL_IsRechecked")
+    @ApiModelProperty(value = "闂鏄惁澶嶆牳")
     var isrechecked: Boolean? = null
 
     @Column(name = "PL_RecheckTime")
+    @ApiModelProperty(value = "澶嶆牳鏃堕棿")
     var rechecktime: Date? = null
 
     @Column(name = "PL_RecheckUserGUID")
+    @ApiModelProperty(value = "澶嶆牳鐢ㄦ埛guid")
     var recheckuserguid: String? = null
 
     @Column(name = "PL_RecheckUserName")
+    @ApiModelProperty(value = "澶嶆牳鐢ㄦ埛鍚嶇О")
     var recheckusername: String? = null
 
     @Column(name = "PL_RecheckUserRealName")
+    @ApiModelProperty(value = "澶嶆牳鐢ㄦ埛鏄电О")
     var recheckuserrealname: String? = null
 
     @Column(name = "PL_RecheckDescription")
+    @ApiModelProperty(value = "澶嶆牳鎻忚堪")
     var recheckdescription: String? = null
 
     @Column(name = "PL_RecheckResultID")
+    @ApiModelProperty(value = "澶嶆牳缁撴灉id")
     var recheckresultid: Boolean? = null
 
     /**
      * 鏈暣鏀�/閮ㄥ垎鏁存敼/澶ч儴鍒嗘暣鏀�/鍏ㄩ儴鏁存敼锛屼粠鍊煎煙琛ㄩ噷璋冪敤
      */
     @Column(name = "PL_RecheckResult")
+    @ApiModelProperty(value = "鏈暣鏀�/閮ㄥ垎鏁存敼/澶ч儴鍒嗘暣鏀�/鍏ㄩ儴鏁存敼锛屼粠鍊煎煙琛ㄩ噷璋冪敤")
     var recheckresult: String? = null
 
     @Column(name = "PL_IsChanged")
+    @ApiModelProperty(value = "鏄惁鏁存敼")
     var ischanged: Boolean? = null
 
     /**
      * 鐜板満鏁存敼/鎵胯鏁存敼 鍊煎煙琛�
      */
     @Column(name = "PL_ChangeCatalog")
+    @ApiModelProperty(value = "鐜板満鏁存敼/鎵胯鏁存敼 鍊煎煙琛�")
     var changecatalog: String? = null
 
     @Column(name = "PL_ChangedTime")
+    @ApiModelProperty(value = "鏁存敼鏃堕棿")
     var changedtime: Date? = null
 
     @Column(name = "PL_ChangedResult")
+    @ApiModelProperty(value = "鏁存敼缁撴灉")
     var changedresult: String? = null
 
     @Column(name = "PL_Advise")
+    @ApiModelProperty(value = "闂寤鸿")
     var advise: String? = null
 
     @Column(name = "PL_Extension1")
+    @ApiModelProperty(value = "璁板綍鏁存敼鎵胯鐨勬渶鍚庢湡闄愭椂闂�")
     var extension1: String? = null
 
     @Column(name = "PL_Extension2")
+    @ApiModelProperty(value = "璁板綍鏁存敼鎵胯鐨勫唴瀹规枃鏈�")
     var extension2: String? = null
 
     @Column(name = "PL_Extension3")
+    @ApiModelProperty(value = "璁板綍闂鐨勫鏍哥姸鎬侊紝true锛氬凡瀹℃牳锛沠alse锛氭湭瀹℃牳")
     var extension3: String? = null
 
     @Column(name = "PL_Remark")
+    @ApiModelProperty(value = "澶囨敞")
     var remark: String? = null
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Problemtype.kt b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Problemtype.kt
index dde9ffb..962fdc5 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Problemtype.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Problemtype.kt
@@ -5,122 +5,153 @@
 import javax.persistence.Column
 import javax.persistence.Id
 import javax.persistence.Table
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 
 @Table(name = "sm_t_problemtype")
 @JsonInclude(JsonInclude.Include.NON_NULL)
+@ApiModel(value = "Problemtype")
 public class Problemtype {
     @Id
     @Column(name = "PT_GUID")
+    @ApiModelProperty(value = "涓婚敭16浣峠uid")
     var guid: String? = null
 
     @Column(name = "PT_Name")
+    @ApiModelProperty(value = "闂鍚嶇О")
     var name: String? = null
 
     /**
      * 浠庡�煎煙琛ㄨ幏鍙�
      */
     @Column(name = "PT_TaskTypeID")
+    @ApiModelProperty(value = "閫傞厤浠诲姟绫诲瀷id")
     var tasktypeid: Byte? = null
 
     /**
      * 浠庡�煎煙琛ㄨ幏鍙�
      */
     @Column(name = "PT_TaskType")
+    @ApiModelProperty(value = "閫傞厤浠诲姟绫诲瀷鍚嶇О")
     var tasktype: String? = null
 
     /**
      * 浠庡�煎煙琛ㄨ幏鍙�
      */
     @Column(name = "PT_ScenseTypeID")
+    @ApiModelProperty(value = "閫傞厤鍦烘櫙绫诲瀷id")
     var scensetypeid: Byte? = null
 
     /**
      * 浠庡�煎煙琛ㄨ幏鍙�
      */
     @Column(name = "PT_ScenseType")
+    @ApiModelProperty(value = "閫傞厤鍦烘櫙绫诲瀷鍚嶇О")
     var scensetype: String? = null
 
     /**
      * 浠庡�煎煙琛ㄨ幏鍙�
      */
     @Column(name = "PT_ScenseSubTypeID")
+    @ApiModelProperty(value = "閫傞厤瀛愬満鏅被鍨媔d")
     var scensesubtypeid: Byte? = null
 
     /**
      * 浠庡�煎煙琛ㄨ幏鍙�
      */
     @Column(name = "PT_ScenseSubType")
+    @ApiModelProperty(value = "閫傞厤瀛愬満鏅被鍨嬪悕绉�")
     var scensesubtype: String? = null
 
     @Column(name = "PT_ProvinceCode")
+    @ApiModelProperty(value = "鐪佷唤缂栧彿")
     var provincecode: String? = null
 
     @Column(name = "PT_ProvinceName")
+    @ApiModelProperty(value = "鐪佷唤")
     var provincename: String? = null
 
     @Column(name = "PT_CityCode")
+    @ApiModelProperty(value = "鍩庡競缂栧彿")
     var citycode: String? = null
 
     @Column(name = "PT_CityName")
+    @ApiModelProperty(value = "鍩庡競")
     var cityname: String? = null
 
     @Column(name = "PT_DistrictCode")
+    @ApiModelProperty(value = "鍖哄幙缂栧彿")
     var districtcode: String? = null
 
     @Column(name = "PT_DistrictName")
+    @ApiModelProperty(value = "鍖哄幙")
     var districtname: String? = null
 
     @Column(name = "PT_TownCode")
+    @ApiModelProperty(value = "琛楅晣缂栧彿")
     var towncode: String? = null
 
     @Column(name = "PT_TownName")
+    @ApiModelProperty(value = "琛楅晣")
     var townname: String? = null
 
     /**
      * 浠庡�煎煙琛ㄨ幏鍙�
      */
     @Column(name = "PT_TypeID")
+    @ApiModelProperty(value = "闂鎵�灞炵被鍨媔d")
     var typeid: Byte? = null
 
     /**
      * 浠庡�煎煙琛ㄨ幏鍙�
      */
     @Column(name = "PT_TypeName")
+    @ApiModelProperty(value = "闂鎵�灞炵被鍨嬪悕绉�")
     var typename: String? = null
 
     @Column(name = "PT_Description")
+    @ApiModelProperty(value = "闂鎻忚堪")
     var description: String? = null
 
     /**
      * 浠嶶serInfo閲屽彇鍊�
      */
     @Column(name = "PT_UserGUID")
+    @ApiModelProperty(value = "缂栬緫鐢ㄦ埛id")
     var userguid: String? = null
 
     @Column(name = "PT_UserName")
+    @ApiModelProperty(value = "缂栬緫鐢ㄦ埛鍚嶇О")
     var username: String? = null
 
     /**
      * 浠嶶serInfo閲屽彇鍊�
      */
     @Column(name = "PT_RealName")
+    @ApiModelProperty(value = "缂栬緫鐢ㄦ埛鏄电О")
     var realname: String? = null
 
     @Column(name = "PT_CreateDate")
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
     var createdate: Date? = null
 
     @Column(name = "PT_UpdateDate")
+    @ApiModelProperty(value = "鏇存柊鏃堕棿")
     var updatedate: Date? = null
 
     @Column(name = "PT_Extension1")
+    @ApiModelProperty(value = "鎵╁睍瀛楁涓�")
     var extension1: String? = null
 
     @Column(name = "PT_Extension2")
+    @ApiModelProperty(value = "鎵╁睍瀛楁浜�")
     var extension2: String? = null
 
     @Column(name = "PT_Extension3")
+    @ApiModelProperty(value = "鎵╁睍瀛楁涓�")
     var extension3: String? = null
 
     @Column(name = "PT_Remark")
+    @ApiModelProperty(value = "澶囨敞")
     var remark: String? = null
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/ProductionDeviceInfo.java b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/ProductionDeviceInfo.java
index 873f608..6e43ea3 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/ProductionDeviceInfo.java
+++ b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/ProductionDeviceInfo.java
@@ -2,110 +2,132 @@
 
 import java.util.Date;
 import javax.persistence.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 
 @Table(name = "di_t_production_device_info")
+@ApiModel(value = "ProductionDeviceInfo")
 public class ProductionDeviceInfo implements BaseDevice {
     @Id
     @Column(name = "WI_ID")
+    @ApiModelProperty(value = "WI_ID")
     private Integer wiId;
 
     /**
      * 鐢熶骇璁惧缂栧彿
      */
     @Column(name = "WI_Device_Code")
+    @ApiModelProperty(value = "鐢熶骇璁惧缂栧彿")
     private String wiDeviceCode;
 
     /**
      * 浣滀笟璁炬柦鍚嶇О
      */
     @Column(name = "WI_Name")
+    @ApiModelProperty(value = "鐢熸垚璁惧鍚嶇О")
     private String wiName;
 
     /**
      * 鎵�灞炲満鏅痠d
      */
     @Column(name = "WI_Scene_GUID")
+    @ApiModelProperty(value = "鎵�灞炲満鏅痠d")
     private String wiSceneGuid;
 
     /**
      * 鍦烘櫙绫诲瀷id
      */
     @Column(name = "WI_Scene_Type_Id")
+    @ApiModelProperty(value = "鍦烘櫙绫诲瀷id")
     private Byte wiSceneTypeId;
 
     /**
      * 璁惧绫诲瀷id
      */
     @Column(name = "WI_Type_Id")
+    @ApiModelProperty(value = "璁惧绫诲瀷id")
     private Byte wiTypeId;
 
     /**
      * 璁惧瀛愮被鍨�
      */
     @Column(name = "WI_Subtype_Id")
+    @ApiModelProperty(value = "璁惧瀛愮被鍨�")
     private Byte wiSubtypeId;
 
     /**
      * 璁惧渚涘簲鍟�
      */
     @Column(name = "WI_Supplier")
+    @ApiModelProperty(value = "璁惧渚涘簲鍟�")
     private String wiSupplier;
 
     /**
      * 鏈嶅姟鍗曚綅
      */
     @Column(name = "WI_Servicer")
+    @ApiModelProperty(value = "鏈嶅姟鍗曚綅")
     private String wiServicer;
 
     /**
      * 杩愮淮浜哄憳
      */
     @Column(name = "WI_Maintain_Staff")
+    @ApiModelProperty(value = "杩愮淮浜哄憳")
     private String wiMaintainStaff;
 
     /**
      * 杩愮淮鑱旂郴鏂瑰紡
      */
     @Column(name = "WI_Maintain_Tel")
+    @ApiModelProperty(value = "杩愮淮鑱旂郴鏂瑰紡")
     private String wiMaintainTel;
 
     /**
      * 杩愯鐘舵��(0:鏈仈缃�;1:涓婄嚎涓�;2:涓嬬嚎;3:鎷嗛櫎)
      */
     @Column(name = "WI_Running_Status")
+    @ApiModelProperty(value = "杩愯鐘舵��(0:鏈仈缃�;1:涓婄嚎涓�;2:涓嬬嚎;3:鎷嗛櫎)")
     private Byte wiRunningStatus;
 
     /**
      * 鍝佺墝鍨嬪彿
      */
     @Column(name = "WI_Brand_Model")
+    @ApiModelProperty(value = "鍝佺墝鍨嬪彿")
     private String wiBrandModel;
 
     /**
      * 璁惧鍙傛暟
      */
     @Column(name = "WI_Device_Param")
+    @ApiModelProperty(value = "璁惧鍙傛暟")
     private String wiDeviceParam;
 
     /**
      * 鎵�鏈夋潈锛�0:璐拱;1:绉熻祦锛�
      */
     @Column(name = "WI_Ownership")
+    @ApiModelProperty(value = "鎵�鏈夋潈锛�0:璐拱;1:绉熻祦锛�")
     private Byte wiOwnership;
 
     @Column(name = "WI_QR_Code")
+    @ApiModelProperty(value = "璁惧绯荤粺淇℃伅浜岀淮鐮�")
     private String wiQrCode;
 
     /**
      * 鍏朵粬绗笁鏂规垨璁惧鑷甫浜岀淮鐮�
      */
     @Column(name = "WI_Other_QR_Code")
+    @ApiModelProperty(value = "鍏朵粬绗笁鏂规垨璁惧鑷甫浜岀淮鐮�")
     private String wiOtherQrCode;
 
     @Column(name = "WI_Create_Time")
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
     private Date wiCreateTime;
 
     @Column(name = "WI_Update_Time")
+    @ApiModelProperty(value = "鏇存柊鏃堕棿")
     private Date wiUpdateTime;
 
     /**
diff --git a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Province.kt b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Province.kt
index 3a342c1..826c38f 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Province.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Province.kt
@@ -4,18 +4,24 @@
 import javax.persistence.Column
 import javax.persistence.Id
 import javax.persistence.Table
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 
 @Table(name = "sm_t_province")
 @JsonInclude(JsonInclude.Include.NON_NULL)
+@ApiModel(value = "Province")
 class Province {
     @Id
     @Column(name = "P_ProvinceID")
-     var provinceid: Int? = null
+    @ApiModelProperty(value = "P_ProvinceID")
+    var provinceid: Int? = null
 
     @Column(name = "P_ProvinceCode")
-     var provincecode: String? = null
+    @ApiModelProperty(value = "P_ProvinceCode")
+    var provincecode: String? = null
 
     @Column(name = "P_ProvinceName")
-     var provincename: String? = null
+    @ApiModelProperty(value = "P_ProvinceName")
+    var provincename: String? = null
 
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/SceneConstructionSite.java b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/SceneConstructionSite.java
index 78ecb94..9e41a54 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/SceneConstructionSite.java
+++ b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/SceneConstructionSite.java
@@ -132,18 +132,23 @@
     private String csSecurityOfficerTel;
 
     @Column(name = "CS_Update_Time")
+    @ApiModelProperty(value = "鏇存柊鏃堕棿")
     private Date csUpdateTime;
 
     @Column(name = "SI_Extension1")
+    @ApiModelProperty(value = "鏂藉伐闃舵")
     private String siExtension1;
 
     @Column(name = "SI_Extension2")
+    @ApiModelProperty(value = "鎵╁睍瀛楁浜�")
     private String siExtension2;
 
     @Column(name = "SI_Extension3")
+    @ApiModelProperty(value = "鎵╁睍瀛楁涓�")
     private String siExtension3;
 
     @Column(name = "SI_Remark")
+    @ApiModelProperty(value = "澶囨敞")
     private String siRemark;
 
     /**
diff --git a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/SceneDevice.java b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/SceneDevice.java
index 0f5bfb8..0773296 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/SceneDevice.java
+++ b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/SceneDevice.java
@@ -72,15 +72,19 @@
     private String sdDataExpection;
 
     @Column(name = "SI_Extension1")
+    @ApiModelProperty(value = "鎵╁睍瀛楁涓�")
     private String siExtension1;
 
     @Column(name = "SI_Extension2")
+    @ApiModelProperty(value = "鎵╁睍瀛楁浜�")
     private String siExtension2;
 
     @Column(name = "SI_Extension3")
+    @ApiModelProperty(value = "鎵╁睍瀛楁涓�")
     private String siExtension3;
 
     @Column(name = "SI_Remark")
+    @ApiModelProperty(value = "澶囨敞")
     private String siRemark;
 
     /**
diff --git a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/SceneMixingPlant.java b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/SceneMixingPlant.java
index 476ad54..6df5307 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/SceneMixingPlant.java
+++ b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/SceneMixingPlant.java
@@ -75,15 +75,19 @@
     private Boolean mpCivillyPlant;
 
     @Column(name = "SI_Extension1")
+    @ApiModelProperty(value = "鎵╁睍瀛楁涓�")
     private String siExtension1;
 
     @Column(name = "SI_Extension2")
+    @ApiModelProperty(value = "鎵╁睍瀛楁浜�")
     private String siExtension2;
 
     @Column(name = "SI_Extension3")
+    @ApiModelProperty(value = "鎵╁睍瀛楁涓�")
     private String siExtension3;
 
     @Column(name = "SI_Remark")
+    @ApiModelProperty(value = "澶囨敞")
     private String siRemark;
 
     /**
diff --git a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/SceneStorageYard.java b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/SceneStorageYard.java
index 7f76094..0c07fdb 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/SceneStorageYard.java
+++ b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/SceneStorageYard.java
@@ -96,15 +96,19 @@
     private String syRentContactsTel;
 
     @Column(name = "SI_Extension1")
+    @ApiModelProperty(value = "鎵╁睍瀛楁涓�")
     private String siExtension1;
 
     @Column(name = "SI_Extension2")
+    @ApiModelProperty(value = "鎵╁睍瀛楁浜�")
     private String siExtension2;
 
     @Column(name = "SI_Extension3")
+    @ApiModelProperty(value = "鎵╁睍瀛楁涓�")
     private String siExtension3;
 
     @Column(name = "SI_Remark")
+    @ApiModelProperty(value = "澶囨敞")
     private String siRemark;
 
     /**
diff --git a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/SceneWharf.java b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/SceneWharf.java
index cb6fd96..1b6b347 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/SceneWharf.java
+++ b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/SceneWharf.java
@@ -96,15 +96,19 @@
     private String wRentContactsTel;
 
     @Column(name = "SI_Extension1")
+    @ApiModelProperty(value = "鎵╁睍瀛楁涓�")
     private String siExtension1;
 
     @Column(name = "SI_Extension2")
+    @ApiModelProperty(value = "鎵╁睍瀛楁浜�")
     private String siExtension2;
 
     @Column(name = "SI_Extension3")
+    @ApiModelProperty(value = "鎵╁睍瀛楁涓�")
     private String siExtension3;
 
     @Column(name = "SI_Remark")
+    @ApiModelProperty(value = "澶囨敞")
     private String siRemark;
 
     /**
diff --git a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Scense.kt b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Scense.kt
index c0a437e..ebfb39b 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Scense.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Scense.kt
@@ -6,98 +6,127 @@
 import javax.persistence.Column
 import javax.persistence.Id
 import javax.persistence.Table
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 
 @Table(name = "sm_t_scense")
 @JsonInclude(JsonInclude.Include.NON_NULL)
+@ApiModel(value = "Scense")
 open class Scense {
     @Id
     @Column(name = "S_GUID")
+    @ApiModelProperty(value = "涓婚敭16浣峠uid")
     var guid: String? = null
 
     @Column(name = "S_Name")
+    @ApiModelProperty(value = "鍦烘櫙鍚嶇О")
     var name: String? = null
 
     /**
      * 浠庡�煎煙琛ㄩ噷鍙栧��
      */
     @Column(name = "S_TypeID")
+    @ApiModelProperty(value = "鍦烘櫙绫诲瀷id")
     var typeid: Byte? = null
 
     /**
      * 浠庡�煎煙琛ㄩ噷鍙栧��
      */
     @Column(name = "S_Type")
+    @ApiModelProperty(value = "鍦烘櫙绫诲瀷")
     var type: String? = null
 
     /**
      * 浠庡�煎煙琛ㄩ噷鍙栧��
      */
     @Column(name = "S_ScenseSubTypeID")
+    @ApiModelProperty(value = "鍦烘櫙瀛愮被鍨媔d")
     var scensesubtypeid: Byte? = null
 
     /**
      * 浠庡�煎煙琛ㄩ噷鍙栧��
      */
     @Column(name = "S_ScenseSubType")
+    @ApiModelProperty(value = "鍦烘櫙瀛愮被鍨�")
     var scensesubtype: String? = null
 
     @Column(name = "S_Location")
+    @ApiModelProperty(value = "鍦烘櫙浣嶇疆")
     var location: String? = null
 
     @Column(name = "S_Longitude")
+    @ApiModelProperty(value = "缁忓害锛堜笢缁忥級")
     var longitude: BigDecimal? = null
 
     @Column(name = "S_Latitude")
+    @ApiModelProperty(value = "绾害锛堝寳绾級")
     var latitude: BigDecimal? = null
 
     @Column(name = "S_ProvinceCode")
+    @ApiModelProperty(value = "鐪佷唤缂栧彿")
     var provincecode: String? = null
 
     @Column(name = "S_ProvinceName")
+    @ApiModelProperty(value = "鐪佷唤")
     var provincename: String? = null
 
     @Column(name = "S_CityCode")
+    @ApiModelProperty(value = "鍩庡競缂栧彿")
     var citycode: String? = null
 
     @Column(name = "S_CityName")
+    @ApiModelProperty(value = "鍩庡競")
     var cityname: String? = null
 
     @Column(name = "S_DistrictCode")
+    @ApiModelProperty(value = "鍖哄幙缂栧彿")
     var districtcode: String? = null
 
     @Column(name = "S_DistrictName")
+    @ApiModelProperty(value = "鍖哄幙")
     var districtname: String? = null
 
     @Column(name = "S_TownCode")
+    @ApiModelProperty(value = "琛楅晣缂栧彿")
     var towncode: String? = null
 
     @Column(name = "S_TownName")
+    @ApiModelProperty(value = "琛楅晣")
     var townname: String? = null
 
     @Column(name = "S_ContactsT")
+    @ApiModelProperty(value = "鑱旂郴浜虹數璇�")
     var contactst: String? = null
 
     @Column(name = "S_ContactsWX")
+    @ApiModelProperty(value = "鑱旂郴浜哄井淇�")
     var contactswx: String? = null
 
     @Column(name = "S_Contacts")
+    @ApiModelProperty(value = "鑱旂郴浜�")
     var contacts: String? = null
 
     @Column(name = "S_CreateDate")
+    @ApiModelProperty(value = "鍒涘缓鏃堕棿")
     var createdate: Date? = null
 
     @Column(name = "S_UpdateDate")
+    @ApiModelProperty(value = "鏇存柊鏃堕棿")
     var updatedate: Date? = null
 
     @Column(name = "S_Extension1")
+    @ApiModelProperty(value = "鏄惁鍦ㄧ嚎锛�1锛氬湪绾夸腑锛�0锛氫笅绾夸腑锛�")
     var extension1: String? = null
 
     @Column(name = "S_Extension2")
+    @ApiModelProperty(value = "鎵╁睍瀛楁浜�")
     var extension2: String? = null
 
     @Column(name = "S_Index")
+    @ApiModelProperty(value = "鍞竴缂栧彿锛屾瘡绉嶅満鏅被鍨嬪垎鍒鏁�")
     var index: Int? = null
 
     @Column(name = "S_Remark")
+    @ApiModelProperty(value = "澶囨敞")
     var remark: String? = null
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Score.java b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Score.java
index cd6110f..c482452 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Score.java
+++ b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Score.java
@@ -1,37 +1,48 @@
 package cn.flightfeather.supervision.domain.ds1.entity;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
-
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 import javax.persistence.*;
 
 @Table(name = "sm_t_score")
+@ApiModel(value = "Score")
 public class Score {
     @Id
     @Column(name = "Id")
+    @ApiModelProperty(value = "涓婚敭鑷id")
     private Integer id;
 
     @Column(name = "Scene_Id")
+    @ApiModelProperty(value = "鍦烘櫙id")
     private String sceneId;
 
     @Column(name = "Scene_Name")
+    @ApiModelProperty(value = "鍦烘櫙鍚嶇О")
     private String sceneName;
 
     @Column(name = "Year")
+    @ApiModelProperty(value = "骞翠唤")
     private Integer year;
 
     @Column(name = "Month")
+    @ApiModelProperty(value = "鏈堜唤")
     private Integer month;
 
     @Column(name = "District_Code")
+    @ApiModelProperty(value = "鍖哄幙缂栧彿")
     private String districtCode;
 
     @Column(name = "District_Name")
+    @ApiModelProperty(value = "鍖哄幙")
     private String districtName;
 
     @Column(name = "Score")
+    @ApiModelProperty(value = "寰楀垎")
     private Integer score;
 
     @Column(name = "Completion")
+    @ApiModelProperty(value = "鏄惁瀹屾垚")
     private Boolean completion;
 
     /**
diff --git a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Subtask.kt b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Subtask.kt
index d6e90bf..6edd5ac 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Subtask.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Subtask.kt
@@ -5,164 +5,214 @@
 import javax.persistence.Column
 import javax.persistence.Id
 import javax.persistence.Table
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 
 @JsonInclude(JsonInclude.Include.NON_NULL)
 @Table(name = "tm_t_subtask")
+@ApiModel(value = "Subtask")
 public class Subtask {
     @Id
     @Column(name = "ST_GUID")
+    @ApiModelProperty(value = "涓婚敭16浣峠uid")
     var stguid: String? = null
 
     /**
      * 鏈堜换鍔℃垨鍏朵粬椤跺眰浠诲姟锛屼笉涓虹┖
      */
     @Column(name = "T_GUID")
+    @ApiModelProperty(value = "鏈堜换鍔℃垨鍏朵粬椤跺眰浠诲姟锛屼笉涓虹┖")
     var tguid: String? = null
 
     /**
      * 鎵�灞炴棩鐨凾_GUID锛屽彲涓虹┖
      */
     @Column(name = "TS_GUID")
+    @ApiModelProperty(value = "鎵�灞炴棩鐨凾_GUID锛屽彲涓虹┖")
     var tsguid: String? = null
 
     @Column(name = "ST_name")
+    @ApiModelProperty(value = "宸℃煡浠诲姟鍚嶇О")
     var name: String? = null
 
     @Column(name = "ST_Priority")
+    @ApiModelProperty(value = "宸℃煡浠诲姟浼樺厛绾�")
     var priority: Boolean? = null
 
     @Column(name = "ST_TypeNo")
+    @ApiModelProperty(value = "浠诲姟绫诲瀷缂栧彿")
     var typeno: Byte? = null
 
     @Column(name = "ST_Type")
+    @ApiModelProperty(value = "浠诲姟绫诲瀷")
     var type: String? = null
 
     @Column(name = "ST_ProvinceCode")
+    @ApiModelProperty(value = "鐪佷唤缂栧彿")
     var provincecode: String? = null
 
     @Column(name = "ST_ProvinceName")
+    @ApiModelProperty(value = "鐪佷唤")
     var provincename: String? = null
 
     @Column(name = "ST_CityCode")
+    @ApiModelProperty(value = "鍩庡競缂栧彿")
     var citycode: String? = null
 
     @Column(name = "ST_CityName")
+    @ApiModelProperty(value = "鍩庡競")
     var cityname: String? = null
 
     @Column(name = "ST_DistrictCode")
+    @ApiModelProperty(value = "鍖哄幙缂栧彿")
     var districtcode: String? = null
 
     @Column(name = "ST_DistrictName")
+    @ApiModelProperty(value = "鍖哄幙")
     var districtname: String? = null
 
     @Column(name = "ST_TownCode")
+    @ApiModelProperty(value = "琛楅晣缂栧彿")
     var towncode: String? = null
 
     @Column(name = "ST_TownName")
+    @ApiModelProperty(value = "琛楅晣")
     var townname: String? = null
 
     @Column(name = "ST_ScenseName")
+    @ApiModelProperty(value = "鍦烘櫙鍚嶇О")
     var scensename: String? = null
 
     @Column(name = "ST_ScenseID")
+    @ApiModelProperty(value = "鍦烘櫙id")
     var scenseid: String? = null
 
     @Column(name = "ST_ScenseAddress")
+    @ApiModelProperty(value = "鍦烘櫙鍦板潃")
     var scenseaddress: String? = null
 
     @Column(name = "ST_DeadLineType")
+    @ApiModelProperty(value = "鎴鏃ユ湡绫诲瀷")
     var deadlinetype: String? = null
 
     @Column(name = "ST_PlanStartTime")
+    @ApiModelProperty(value = "璁″垝寮�濮嬫椂闂�")
     var planstarttime: Date? = null
 
     @Column(name = "ST_PlanEndTime")
+    @ApiModelProperty(value = "璁″垝缁撴潫鏃堕棿")
     var planendtime: Date? = null
 
     @Column(name = "ST_DeployerGUID")
+    @ApiModelProperty(value = "鍙戝竷鐢ㄦ埛guid")
     var deployerguid: String? = null
 
     @Column(name = "ST_DeployerUserName")
+    @ApiModelProperty(value = "鍙戝竷鐢ㄦ埛鍚嶇О")
     var deployerusername: String? = null
 
     @Column(name = "ST_DeployerRealName")
+    @ApiModelProperty(value = "鍙戝竷鐢ㄦ埛鏄电О")
     var deployerrealname: String? = null
 
     @Column(name = "ST_DeployTime")
+    @ApiModelProperty(value = "鍙戝竷鏃堕棿")
     var deploytime: Date? = null
 
     @Column(name = "ST_ExecutionStartTime")
+    @ApiModelProperty(value = "鎵ц寮�濮嬫椂闂�")
     var executionstarttime: Date? = null
 
     @Column(name = "ST_ExecutionEndTime")
+    @ApiModelProperty(value = "鎵ц缁撴潫鏃堕棿")
     var executionendtime: Date? = null
 
     @Column(name = "ST_ExecutorGUIDs")
+    @ApiModelProperty(value = "鎵ц鐢ㄦ埛id锛屽浣嶇敤鎴风敤#鍒嗛殧")
     var executorguids: String? = null
 
     @Column(name = "ST_ExecutorUserNames")
+    @ApiModelProperty(value = "鎵ц鐢ㄦ埛鍚嶇О锛屽浣嶇敤鎴风敤#鍒嗛殧")
     var executorusernames: String? = null
 
     /**
      * 涓庣敤鎴疯〃鐢ㄦ埛鍚嶅叧鑱�,鐢ㄢ��&鈥濊繛鎺ュ浜猴紝渚嬪锛氬紶涓�&鏉庡洓&鐜嬩簲
      */
     @Column(name = "ST_ExecutorRealTimes")
+    @ApiModelProperty(value = "涓庣敤鎴疯〃鐢ㄦ埛鍚嶅叧鑱�,鐢ㄢ��#鈥濊繛鎺ュ浜猴紝渚嬪锛氬紶涓�#鏉庡洓#鐜嬩簲")
     var executorrealtimes: String? = null
 
     /**
      * 鏈墽琛屻�佹鍦ㄦ墽琛屻�佸凡缁撴潫
      */
     @Column(name = "ST_Status")
+    @ApiModelProperty(value = "浠诲姟鐘舵�侊細鏈墽琛屻�佹鍦ㄦ墽琛屻�佸凡缁撴潫")
     var status: String? = null
 
     @Column(name = "ST_NotifedCount")
+    @ApiModelProperty(value = "閫氱煡娆℃暟")
     var notifedcount: Int? = null
 
     /**
      * ER_GUID鐨勯泦鍚堬紝澶氫釜鏃垛��,鈥濆垎鍓诧紝鑷姩鍖归厤鍦烘櫙锛屽悓绫诲満鏅涓�冩牳瑙勮寖鏃讹紝鐜板満宸℃煡鏃讹紝鍙崟閫夋垨澶氶�夈��
      */
     @Column(name = "ST_RuleList")
+    @ApiModelProperty(value = "ER_GUID鐨勯泦鍚堬紝澶氫釜鏃垛��,鈥濆垎鍓诧紝鑷姩鍖归厤鍦烘櫙锛屽悓绫诲満鏅涓�冩牳瑙勮寖鏃讹紝鐜板満宸℃煡鏃讹紝鍙崟閫夋垨澶氶�夈��")
     var rulelist: String? = null
 
     @Column(name = "ST_AssessorGUID")
+    @ApiModelProperty(value = "璇勪及鐢ㄦ埛id")
     var stAssessorguid: String? = null
 
     @Column(name = "ST_AssessorUserName")
+    @ApiModelProperty(value = "璇勪及鐢ㄦ埛鍚嶇О")
     var assessorusername: String? = null
 
     @Column(name = "ST_AssessorRealName")
+    @ApiModelProperty(value = "璇勪及鐢ㄦ埛鏄电О")
     var assessorrealname: String? = null
 
     @Column(name = "ST_AssessTime")
+    @ApiModelProperty(value = "璇勪及鏃堕棿")
     var assesstime: Date? = null
 
     @Column(name = "ST_AssessResult")
+    @ApiModelProperty(value = "璇勪及缁撴灉")
     var assessresult: String? = null
 
     @Column(name = "ST_ThirdAssessorGUID")
+    @ApiModelProperty(value = "澶嶅鐢ㄦ埛id")
     var thirdassessorguid: String? = null
 
     @Column(name = "ST_ThirdAssessorUserName")
+    @ApiModelProperty(value = "澶嶅鐢ㄦ埛鍚嶇О")
     var thirdassessorusername: String? = null
 
     @Column(name = "ST_ThirdAssessorRealName")
+    @ApiModelProperty(value = "澶嶅鐢ㄦ埛鏄电О")
     var thirdassessorrealname: String? = null
 
     @Column(name = "ST_ThirdAssessTime")
+    @ApiModelProperty(value = "澶嶅鏃堕棿")
     var thirdassesstime: Date? = null
 
     @Column(name = "ST_ThirdAssessResult")
+    @ApiModelProperty(value = "澶嶅缁撴灉")
     var thirdassessresult: String? = null
 
     @Column(name = "ST_Extension1")
+    @ApiModelProperty(value = "鎵╁睍瀛楁涓�")
     var extension1: String? = null
 
     @Column(name = "ST_Extension2")
+    @ApiModelProperty(value = "鎵╁睍瀛楁浜�")
     var extension2: String? = null
 
     @Column(name = "ST_Extension3")
+    @ApiModelProperty(value = "鎵╁睍瀛楁涓�")
     var extension3: String? = null
 
     @Column(name = "ST_Remark")
+    @ApiModelProperty(value = "澶囨敞")
     var remark: String? = null
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Task.kt b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Task.kt
index 599e82b..1fc86ee 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Task.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Task.kt
@@ -5,102 +5,126 @@
 import javax.persistence.Column
 import javax.persistence.Id
 import javax.persistence.Table
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 
 @JsonInclude(JsonInclude.Include.NON_NULL)
 @Table(name = "tm_t_task")
+@ApiModel(value = "Task")
 public class Task {
     @Id
     @Column(name = "T_GUID")
+    @ApiModelProperty(value = "涓婚敭16浣峠uid")
     var tguid: String? = null
 
     /**
      * 鏈堜换鍔′负绌猴紝鏃ヤ换鍔′负鎵�灞炴湀浠界殑T_ID
      */
     @Column(name = "TS_GUID")
+    @ApiModelProperty(value = "鏈堜换鍔′负绌猴紝鏃ヤ换鍔′负鎵�灞炴湀浠界殑T_ID")
     var tsguid: String? = null
 
     /**
      * 1 鐩存帴鎸傝浇瀛愪换鍔� 2 鏈変笅灞炰换鍔�
      */
     @Column(name = "T_LevelNum")
+    @ApiModelProperty(value = "1 鐩存帴鎸傝浇瀛愪换鍔� 2 鏈変笅灞炰换鍔�")
     var levelnum: Int? = null
 
     /**
      * 鐢卞勾搴︺�佹湀浠芥垨璺ㄦ湀浠姐�佺渷浠姐�佸湴甯傛垨鍖哄幙銆佽閬擄紙鍙�夛級銆佸満鏅�佷换鍔$被鍨嬭嚜鍔ㄧ敓鎴愶紝鍏佽鎵嬪伐淇敼渚夸簬璺ㄥ尯鍩熶换鍔″埗瀹�
      */
     @Column(name = "T_Name")
+    @ApiModelProperty(value = "鐢卞勾搴︺�佹湀浠芥垨璺ㄦ湀浠姐�佺渷浠姐�佸湴甯傛垨鍖哄幙銆佽閬擄紙鍙�夛級銆佸満鏅�佷换鍔$被鍨嬭嚜鍔ㄧ敓鎴愶紝鍏佽鎵嬪伐淇敼渚夸簬璺ㄥ尯鍩熶换鍔″埗瀹�")
     var name: String? = null
 
     /**
      * 浠庡�煎煙琛ㄨ幏鍙�
      */
     @Column(name = "T_TypeNo")
+    @ApiModelProperty(value = "浠诲姟绫诲瀷缂栧彿锛屼粠鍊煎煙琛ㄨ幏鍙�")
     var typeno: Byte? = null
 
     /**
      * 浠庡�煎煙琛ㄨ幏鍙�
      */
     @Column(name = "T_TypeName")
+    @ApiModelProperty(value = "浠诲姟绫诲瀷锛屼粠鍊煎煙琛ㄨ幏鍙�")
     var typename: String? = null
 
     @Column(name = "T_DeadlineType")
+    @ApiModelProperty(value = "鎴鏃ユ湡绫诲瀷")
     var deadlinetype: String? = null
 
     @Column(name = "T_ProvinceCode")
+    @ApiModelProperty(value = "鐪佷唤缂栧彿")
     var provincecode: String? = null
 
     @Column(name = "T_ProvinceName")
+    @ApiModelProperty(value = "鐪佷唤")
     var provincename: String? = null
 
     @Column(name = "T_CityCode")
+    @ApiModelProperty(value = "鍩庡競缂栧彿")
     var citycode: String? = null
 
     @Column(name = "T_CityName")
+    @ApiModelProperty(value = "鍩庡競")
     var cityname: String? = null
 
     @Column(name = "T_DistrictCode")
+    @ApiModelProperty(value = "鍖哄幙缂栧彿")
     var districtcode: String? = null
 
     @Column(name = "T_DistrictName")
+    @ApiModelProperty(value = "鍖哄幙")
     var districtname: String? = null
 
     @Column(name = "T_TownCode")
+    @ApiModelProperty(value = "琛楅晣缂栧彿")
     var towncode: String? = null
 
     @Column(name = "T_TownName")
+    @ApiModelProperty(value = "琛楅晣")
     var townname: String? = null
 
     /**
      * 鏈堜换鍔℃椂涓哄叿浣撳埌鏃ワ紝鏃ヤ换鍔℃椂鍏蜂綋鍒版椂
      */
     @Column(name = "T_StartTime")
+    @ApiModelProperty(value = "鏈堜换鍔℃椂涓哄叿浣撳埌鏃ワ紝鏃ヤ换鍔℃椂鍏蜂綋鍒版椂")
     var starttime: Date? = null
 
     /**
      * 鏈堜换鍔℃椂涓哄叿浣撳埌鏃ワ紝鏃ヤ换鍔℃椂鍏蜂綋鍒版椂
      */
     @Column(name = "T_EndTime")
+    @ApiModelProperty(value = "鏈堜换鍔℃椂涓哄叿浣撳埌鏃ワ紝鏃ヤ换鍔℃椂鍏蜂綋鍒版椂")
     var endtime: Date? = null
 
     /**
      * 鍚寀serinfo鍏宠仈
      */
     @Column(name = "T_PlannerGUID")
+    @ApiModelProperty(value = "璁″垝鍒跺畾鐢ㄦ埛id锛屽悓userinfo鍏宠仈")
     var plannerguid: String? = null
 
     /**
      * 浠巙serinfo鑾峰彇
      */
     @Column(name = "T_PlannerUserName")
+    @ApiModelProperty(value = "璁″垝鍒跺畾鐢ㄦ埛鍚嶇О锛屼粠userinfo鑾峰彇")
     var plannerusername: String? = null
 
     /**
      * 浠巙serinfo鑾峰彇
      */
     @Column(name = "T_PlannerRealName")
+    @ApiModelProperty(value = "璁″垝鍒跺畾鐢ㄦ埛鏄电О锛屼粠userinfo鑾峰彇")
     var plannerrealname: String? = null
 
     @Column(name = "T_SetTime")
+    @ApiModelProperty(value = "璁″垝鍒跺畾鏃堕棿")
     var settime: Date? = null
 
     /**
@@ -108,119 +132,152 @@
      * 鍏堥拡瀵逛换鍔″畨鎺掍汉鍛樺垪琛紝瀛愪换鍔′粠宸插畾浜哄憳鍒楄〃涓��
      */
     @Column(name = "T_ExecutorGUIDs")
+    @ApiModelProperty(value = "浠诲姟鍙戝竷鍚庯紝浠庡瓙浠诲姟琛ㄨ嚜鍔ㄦ彁鍙栨彃鍏� 鍏堥拡瀵逛换鍔″畨鎺掍汉鍛樺垪琛紝瀛愪换鍔′粠宸插畾浜哄憳鍒楄〃涓��")
     var executorguids: String? = null
 
     @Column(name = "T_ExecutorUserNames")
+    @ApiModelProperty(value = "鍙戝竷鐢ㄦ埛鍚嶇О")
     var executorusernames: String? = null
 
     @Column(name = "T_ExecutorRealNames")
+    @ApiModelProperty(value = "鍙戝竷鐢ㄦ埛鏄电О")
     var executorrealnames: String? = null
 
     @Column(name = "T_IsChanged")
+    @ApiModelProperty(value = "T_IsChanged")
     var ischanged: Boolean? = null
 
     @Column(name = "T_1stVerifierGUID")
+    @ApiModelProperty(value = "鍒濆鐢ㄦ埛id")
     var t1stverifierguid: String? = null
 
     @Column(name = "T_1stVerifierUserName")
+    @ApiModelProperty(value = "鍒濆鐢ㄦ埛鍚嶇О")
     var t1stverifierusername: String? = null
 
     /**
      * 浠巙serinfo鑾峰彇
      */
     @Column(name = "T_1stVerifierRealName")
+    @ApiModelProperty(value = "鍒濆鐢ㄦ埛鏄电О")
     var t1stverifierrealname: String? = null
 
     @Column(name = "T_1stVerifyTime")
+    @ApiModelProperty(value = "鍒濆鏃堕棿")
     var t1stverifytime: Date? = null
 
     @Column(name = "T_1stIsVerify")
+    @ApiModelProperty(value = "鏄惁鍒濆")
     var t1stisverify: Boolean? = null
 
     @Column(name = "T_2ndVerifierGUID")
+    @ApiModelProperty(value = "澶嶅鐢ㄦ埛")
     var t2ndverifierguid: String? = null
 
     @Column(name = "T_2ndVerifierUserName")
+    @ApiModelProperty(value = "澶嶅鐢ㄦ埛鍚嶇О")
     var t2ndverifierusername: String? = null
 
     /**
      * 浠巙serinfo鑾峰彇
      */
     @Column(name = "T_2ndVerifierRealName")
+    @ApiModelProperty(value = "澶嶅鐢ㄦ埛鏄电О")
     var t2ndverifierrealname: String? = null
 
     @Column(name = "T_2ndVerifyTime")
+    @ApiModelProperty(value = "澶嶅鏃堕棿")
     var t2ndverifytime: Date? = null
 
     @Column(name = "T_2ndIsVerify")
+    @ApiModelProperty(value = "鏄惁澶嶅")
     var t2ndisverify: Boolean? = null
 
     @Column(name = "T_DeployerGUID")
+    @ApiModelProperty(value = "鍙戝竷鐢ㄦ埛id")
     var deployerguid: String? = null
 
     @Column(name = "T_DeployerUserName")
+    @ApiModelProperty(value = "鍙戝竷鐢ㄦ埛鍚嶇О")
     var deployerusername: String? = null
 
     /**
      * 浠巙serinfo鑾峰彇
      */
     @Column(name = "T_DeployerRealName")
+    @ApiModelProperty(value = "鍙戝竷鐢ㄦ埛鏄电О")
     var deployerrealname: String? = null
 
     @Column(name = "T_DeployTime")
+    @ApiModelProperty(value = "鍙戝竷鏃堕棿")
     var deploytime: Date? = null
 
     /**
      * 鏈墽琛屻�佹鍦ㄦ墽琛屻�佸凡缁撴潫
      */
     @Column(name = "T_RuningStatus")
+    @ApiModelProperty(value = "鏈墽琛屻�佹鍦ㄦ墽琛屻�佸凡缁撴潫")
     var runingstatus: String? = null
 
     @Column(name = "T_AssessorGUID")
+    @ApiModelProperty(value = "璇勪及鐢ㄦ埛id")
     var assessorguid: String? = null
 
     @Column(name = "T_AssessorUserName")
+    @ApiModelProperty(value = "璇勪及鐢ㄦ埛鍚嶇О")
     var assessorusername: String? = null
 
     /**
      * 浠巙serinfo鑾峰彇
      */
     @Column(name = "T_AssessorRealName")
+    @ApiModelProperty(value = "璇勪及鐢ㄦ埛鏄电О")
     var assessorrealname: String? = null
 
     @Column(name = "T_AssessTime")
+    @ApiModelProperty(value = "璇勪及鏃堕棿")
     var assesstime: Date? = null
 
     @Column(name = "T_AssessResult")
+    @ApiModelProperty(value = "璇勪及缁撴灉")
     var assessresult: String? = null
 
     @Column(name = "T_ThirdAssessorGUID")
+    @ApiModelProperty(value = "鍐嶆璇勪及鐢ㄦ埛")
     var thirdassessorguid: String? = null
 
     @Column(name = "T_ThirdAssessorUserName")
+    @ApiModelProperty(value = "鍐嶆璇勪及鐢ㄦ埛鍚嶇О")
     var thirdassessorusername: String? = null
 
     /**
      * 浠巙serinfo鑾峰彇
      */
     @Column(name = "T_ThirdAssessorRealName")
+    @ApiModelProperty(value = "鍐嶆璇勪及鐢ㄦ埛鏄电О")
     var thirdassessorrealname: String? = null
 
     @Column(name = "T_ThirdAssessTime")
+    @ApiModelProperty(value = "鍐嶆璇勪及鏃堕棿")
     var thirdassesstime: Date? = null
 
     @Column(name = "T_ThirdAssessResult")
+    @ApiModelProperty(value = "鍐嶆璇勪及缁撴灉")
     var thirdassessresult: String? = null
 
     @Column(name = "T_Extension1")
+    @ApiModelProperty(value = "浠诲姟鍖归厤琛屾斂鍖哄垝棰楃矑搴︼紝1锛氱渷浠斤紱2锛氬煄甯傦紱3锛氬尯鍘匡紱4锛氳闀�")
     var extension1: String? = null
 
     @Column(name = "T_Extension2")
+    @ApiModelProperty(value = "鏄惁鍏佽鏃犲浐瀹氬満鏅贰鏌�")
     var extension2: String? = null
 
     @Column(name = "T_Extension3")
+    @ApiModelProperty(value = "鎵╁睍瀛楁涓�")
     var extension3: String? = null
 
     @Column(name = "T_Remark")
+    @ApiModelProperty(value = "澶囨敞")
     var remark: String? = null
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Town.kt b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Town.kt
index d62fc55..238514b 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Town.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Town.kt
@@ -4,29 +4,39 @@
 import javax.persistence.Column
 import javax.persistence.Id
 import javax.persistence.Table
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 
 @Table(name = "sm_t_town")
 @JsonInclude(JsonInclude.Include.NON_NULL)
+@ApiModel(value = "Town")
 class Town {
     @Id
     @Column(name = "T_TownID")
+    @ApiModelProperty(value = "琛楅晣id")
     var townid: Int? = null
 
     @Column(name = "D_DistrictID")
+    @ApiModelProperty(value = "鎵�灞炲尯鍘縤d")
     var districtid: Int? = null
 
     @Column(name = "C_CityID")
+    @ApiModelProperty(value = "鎵�灞炲煄甯俰d")
     var cityid: Int? = null
 
     @Column(name = "P_ProvinceID")
+    @ApiModelProperty(value = "鎵�灞炵渷浠絠d")
     var provinceid: Int? = null
 
     @Column(name = "T_TownCode")
+    @ApiModelProperty(value = "琛楅晣浠g爜")
     var towncode: String? = null
 
     @Column(name = "T_TownName")
+    @ApiModelProperty(value = "琛楅晣鍚嶇О")
     var townname: String? = null
 
     @Column(name = "T_Station")
+    @ApiModelProperty(value = "T_Station")
     var station: String? = null
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/TreatmentDeviceInfo.java b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/TreatmentDeviceInfo.java
index 0cc5798..be9ef3b 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/TreatmentDeviceInfo.java
+++ b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/TreatmentDeviceInfo.java
@@ -4,10 +4,12 @@
 import io.swagger.annotations.ApiModelProperty;
 import java.util.Date;
 import javax.persistence.*;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 
-@ApiModel(value = "TreatmentDeviceInfo")
 @Table(name = "di_t_treatment_device_info")
-public class TreatmentDeviceInfo {
+@ApiModel(value = "TreatmentDeviceInfo")
+public class TreatmentDeviceInfo implements BaseDevice{
     @Id
     @Column(name = "PI_ID")
     @ApiModelProperty(value = "PI_ID")
diff --git a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Userinfo.kt b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Userinfo.kt
index 7462936..1d626e6 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Userinfo.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Userinfo.kt
@@ -4,65 +4,84 @@
 import javax.persistence.Column
 import javax.persistence.Id
 import javax.persistence.Table
+import io.swagger.annotations.ApiModelProperty
+import io.swagger.annotations.ApiModel
 
 @Table(name = "sm_t_userinfo")
 @JsonInclude(JsonInclude.Include.NON_NULL)
+@ApiModel(value = "Userinfo")
 public class Userinfo {
     @Id
     @Column(name = "UI_GUID")
+    @ApiModelProperty(value = "涓婚敭16浣峠uid")
     var guid: String? = null
 
     @Column(name = "UI_AcountName")
+    @ApiModelProperty(value = "璐︽埛鍚嶇О")
     var acountname: String? = null
 
     @Column(name = "UI_RealName")
+    @ApiModelProperty(value = "鐢ㄦ埛鏄电О")
     var realname: String? = null
 
     /**
      * 瑙勫畾瀛楁瘝鍔犳暟瀛�
      */
     @Column(name = "UI_Password")
+    @ApiModelProperty(value = "瀵嗙爜锛岃瀹氬瓧姣嶅姞鏁板瓧")
     var password: String? = null
 
     /**
      * 鍊煎煙琛ㄤ腑鑾峰彇锛�1锛氭垜鍙哥敤鎴凤紱2锛氳鐩戠瀵硅薄鍗曚綅鐢ㄦ埛锛�3锛氫富绠¢儴闂ㄧ敤鎴凤級
      */
     @Column(name = "UI_UserTypeID")
+    @ApiModelProperty(value = "鍊煎煙琛ㄤ腑鑾峰彇锛�1锛氭垜鍙哥敤鎴凤紱2锛氳鐩戠瀵硅薄鍗曚綅鐢ㄦ埛锛�3锛氫富绠¢儴闂ㄧ敤鎴凤級")
     var usertypeid: Byte? = null
 
     /**
      * 鍊煎煙琛ㄤ腑鑾峰彇
      */
     @Column(name = "UI_UserType")
+    @ApiModelProperty(value = "鐢ㄦ埛绫诲瀷锛屽�煎煙琛ㄤ腑鑾峰彇")
     var usertype: String? = null
 
     @Column(name = "D_GUID")
+    @ApiModelProperty(value = "鎵�灞炲満鏅痝uid")
     var dGuid: String? = null
 
     @Column(name = "UI_DepartmentName")
+    @ApiModelProperty(value = "鎵�灞炲満鏅悕绉�")
     var departmentname: String? = null
 
     @Column(name = "UI_IsEnable")
+    @ApiModelProperty(value = "鏄惁鍙敤")
     var isenable: Boolean? = null
 
     @Column(name = "UI_WorkNo")
+    @ApiModelProperty(value = "鐢ㄦ埛缂栧彿")
     var workno: String? = null
 
     @Column(name = "UI_Telephone")
+    @ApiModelProperty(value = "鐢ㄦ埛鐢佃瘽")
     var telephone: String? = null
 
     @Column(name = "UI_WechatID")
+    @ApiModelProperty(value = "鐢ㄦ埛寰俊")
     var wechatid: String? = null
 
     @Column(name = "UI_Extension1")
+    @ApiModelProperty(value = "鎵╁睍瀛楁涓�")
     var extension1: String? = null
 
     @Column(name = "UI_Extension2")
+    @ApiModelProperty(value = "鎵╁睍瀛楁浜�")
     var extension2: String? = null
 
     @Column(name = "UI_Extension3")
+    @ApiModelProperty(value = "鎵╁睍瀛楁涓�")
     var extension3: String? = null
 
     @Column(name = "UI_Remark")
+    @ApiModelProperty(value = "鎵�灞炲尯鍘垮悕绉�")
     var remark: String? = null
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Version.kt b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Version.kt
index 6c88467..70fc93d 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Version.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/entity/Version.kt
@@ -3,28 +3,37 @@
 import com.fasterxml.jackson.annotation.JsonInclude
 import java.util.*
 import javax.persistence.*
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
 
 @Table(name = "sys_version")
 @JsonInclude(JsonInclude.Include.NON_NULL)
+@ApiModel(value = "Version")
 public class Version {
 
     @Id
     @Column(name = "sys_versionCode")
+    @ApiModelProperty(value = "sys_versionCode")
     var versionCode: Int? = null
 
     @Column(name = "sys_versionName")
+    @ApiModelProperty(value = "sys_versionName")
     var versionName: String? = null
 
     @Column(name = "sys_updateTime")
+    @ApiModelProperty(value = "sys_updateTime")
     var updateTime: Date? = null
 
     @Column(name = "sys_enable")
+    @ApiModelProperty(value = "sys_enable")
     var enable: Boolean? = null
 
     @Column(name = "sys_downloadUrl")
+    @ApiModelProperty(value = "sys_downloadUrl")
     var downloadUrl: String? = null
 
     @Column(name = "sys_description")
+    @ApiModelProperty(value = "sys_description")
     var description: String? = null
 
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/mapper/MonitorDeviceInfoMapper.kt b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/mapper/MonitorDeviceInfoMapper.kt
index 45393b2..294bbfc 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/mapper/MonitorDeviceInfoMapper.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/mapper/MonitorDeviceInfoMapper.kt
@@ -5,4 +5,4 @@
 import org.apache.ibatis.annotations.Mapper
 
 @Mapper
-interface MonitorDeviceInfoMapper : MyMapper<MonitorDeviceInfo?>
\ No newline at end of file
+interface MonitorDeviceInfoMapper : MyMapper<MonitorDeviceInfo>
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/repository/UserInfoSVRep.kt b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/repository/UserInfoSVRep.kt
index a2fac40..2beb313 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/repository/UserInfoSVRep.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/domain/ds1/repository/UserInfoSVRep.kt
@@ -1,7 +1,6 @@
 package cn.flightfeather.supervision.domain.ds1.repository
 
 import cn.flightfeather.supervision.common.utils.Constant
-import cn.flightfeather.supervision.domain.ds1.entity.Scense
 import cn.flightfeather.supervision.domain.ds1.entity.Userinfo
 import cn.flightfeather.supervision.domain.ds1.mapper.UserinfoMapper
 import cn.flightfeather.supervision.lightshare.vo.AreaVo
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/DataProdMiddleService.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/DataProdMiddleService.kt
index 11904b5..c3f151d 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/DataProdMiddleService.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/DataProdMiddleService.kt
@@ -1,10 +1,7 @@
 package cn.flightfeather.supervision.lightshare.service
 
-import cn.flightfeather.supervision.lightshare.vo.dataprod.middle.DPInspectionSummary
 import cn.flightfeather.supervision.lightshare.vo.dataprod.QueryOpt
-import cn.flightfeather.supervision.lightshare.vo.dataprod.middle.DPEvaluationByArea
-import cn.flightfeather.supervision.lightshare.vo.dataprod.middle.DPProblemCountByArea
-import cn.flightfeather.supervision.lightshare.vo.dataprod.middle.DPProblemTypeCount
+import cn.flightfeather.supervision.lightshare.vo.dataprod.middle.*
 
 /**
  * 涓棿鏁版嵁浜у搧鏈嶅姟鎺ュ彛
@@ -32,4 +29,10 @@
      * 鍒嗗尯鍩熻鑼冩�ф儏鍐�
      */
     fun getEvaluationByArea(queryOpt: QueryOpt): List<DPEvaluationByArea>
+
+     /**
+      * 鍏稿瀷闂鍦烘櫙娓呭崟
+      * @param rateTotal 鎬婚棶棰樻暣鏀圭巼闃堝�硷紝榛樿0.8锛屽皬浜庢闃堝�硷紝琛ㄦ槑鏄吀鍨嬮棶棰樺満鏅�
+      */
+    fun getTypicalProblems(queryOpt: QueryOpt, rateTotal:Double = 0.8): List<DPTypicalProblemScene>
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/EvaluationService.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/EvaluationService.kt
index 0d16126..bea088b 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/EvaluationService.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/EvaluationService.kt
@@ -3,10 +3,7 @@
 import cn.flightfeather.supervision.common.executor.BgTaskStatus
 import cn.flightfeather.supervision.domain.ds1.entity.Evaluation
 import cn.flightfeather.supervision.domain.ds1.entity.Itemevaluation
-import cn.flightfeather.supervision.lightshare.vo.AreaVo
-import cn.flightfeather.supervision.lightshare.vo.AutoScoreResultVo
-import cn.flightfeather.supervision.lightshare.vo.BaseResponse
-import cn.flightfeather.supervision.lightshare.vo.EvaluateResVo
+import cn.flightfeather.supervision.lightshare.vo.*
 import org.springframework.web.multipart.MultipartFile
 import springfox.documentation.annotations.ApiIgnore
 import javax.servlet.http.HttpServletResponse
@@ -36,6 +33,15 @@
     fun findByInspectionId(inspectionId:String):List<Evaluation>
 
     /**
+     * 鏍规嵁鍦烘櫙ID鏌ヨ璇勪及缁撴灉
+     * @param sceneId 鍦烘櫙ID\
+     * @param page 椤电爜
+     * @param pageSize 姣忛〉鏁伴噺
+     * @return 璇勪及鍒楄〃
+     */
+    fun findBySceneId(sceneId:String, page:Int, pageSize:Int):Pair<DataHead, List<Evaluation>>
+
+    /**
      * 鑷姩璇勪及
      * @param areaVo 璇勪及鑼冨洿
      */
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/NightConstructionService.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/NightConstructionService.kt
index eaaadda..cff6a83 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/NightConstructionService.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/NightConstructionService.kt
@@ -2,17 +2,18 @@
 
 import cn.flightfeather.supervision.domain.ds1.entity.NightConstruction
 import cn.flightfeather.supervision.lightshare.vo.BaseResponse
+import cn.flightfeather.supervision.lightshare.vo.DataHead
 import cn.flightfeather.supervision.lightshare.vo.NightWorkSummary
 
 interface NightConstructionService {
 
-    fun getRecord(cityCode: String?, districtCode: String, page: Int, perPage: Int): BaseResponse<List<NightConstruction?>>
+    fun getRecord(cityCode: String?, districtCode: String, page: Int, perPage: Int): Pair<DataHead, List<NightConstruction?>>
 
-    fun getNightWorkFile(userId: String, isRead: Boolean?, page: Int, perPage: Int): BaseResponse<List<NightConstruction?>>
+    fun getNightWorkFile(userId: String, isRead: Boolean?, page: Int, perPage: Int): Pair<DataHead, List<NightConstruction?>>
 
-    fun signFile(userId: String, fileNum: String, id: Int): BaseResponse<Int>
+    fun signFile(userId: String, fileNum: String, id: Int): Int
 
     fun updateRecord(recordId: Int, userId: String?, sceneId: String?): NightConstruction
 
-    fun getSummary(cityCode: String?, districtCode: String): BaseResponse<NightWorkSummary>
+    fun getSummary(cityCode: String?, districtCode: String): NightWorkSummary
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/ProblemlistService.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/ProblemlistService.kt
index dc869c1..d0f1c6e 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/ProblemlistService.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/ProblemlistService.kt
@@ -15,7 +15,7 @@
 
     fun delete(id: String): Int
 
-    fun setDeleteStatus(id: String): BaseResponse<Int>
+    fun setDeleteStatus(id: String): Int
 
     fun findBySubtaskId(subTaskID: String): List<ProblemListVo>
 
@@ -39,13 +39,13 @@
 
     fun findMonthProblemById(taskId:String, sceneId:Int?):List<MonthProblemVo>
 
-    fun check(pId: String, action: Byte, remark: String, userId: String, userName: String): BaseResponse<String>
+    fun check(pId: String, action: Byte, remark: String, userId: String, userName: String): String
 
-    fun newProblem(problem: String, files: Array<MultipartFile>): BaseResponse<String>
+    fun newProblem(problem: String, files: Array<MultipartFile>): String
 
     fun updateProblem(problem: ProblemListVo, deleteImg: List<String>, files: Array<MultipartFile>): String
 
-    fun changeProblem(problemId: String, files: Array<MultipartFile>): BaseResponse<String>
+    fun changeProblem(problemId: String, files: Array<MultipartFile>): String
 
     /**
      * 鏇存柊鏁存敼
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DataProdMiddleServiceImpl.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DataProdMiddleServiceImpl.kt
index 458de79..6d46bc9 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DataProdMiddleServiceImpl.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/DataProdMiddleServiceImpl.kt
@@ -7,10 +7,7 @@
 import cn.flightfeather.supervision.lightshare.service.DataProdBaseService
 import cn.flightfeather.supervision.lightshare.service.DataProdMiddleService
 import cn.flightfeather.supervision.lightshare.vo.dataprod.QueryOpt
-import cn.flightfeather.supervision.lightshare.vo.dataprod.middle.DPEvaluationByArea
-import cn.flightfeather.supervision.lightshare.vo.dataprod.middle.DPInspectionSummary
-import cn.flightfeather.supervision.lightshare.vo.dataprod.middle.DPProblemCountByArea
-import cn.flightfeather.supervision.lightshare.vo.dataprod.middle.DPProblemTypeCount
+import cn.flightfeather.supervision.lightshare.vo.dataprod.middle.*
 import org.springframework.beans.BeanUtils
 import org.springframework.stereotype.Service
 
@@ -120,7 +117,7 @@
                             this.townName = firstSubtask?.townname
                             this.sceneCount = ins.distinctBy { it.subTask?.scenseid }.size
                             this.problemCount = allProblemList.size
-                            this.ratio = problemCount.toDouble() / sceneCount
+                            this.proAvg = problemCount.toDouble() / sceneCount
                         })
                     }
 
@@ -167,4 +164,40 @@
             },
         )
     }
+
+    override fun getTypicalProblems(queryOpt: QueryOpt, rateTotal: Double): List<DPTypicalProblemScene> {
+        return QueryByCache.queryCache(
+            cache = { return@queryCache null },
+            calculate = {
+                val res = mutableListOf<DPTypicalProblemScene>()
+                val inspectionInfo = dataProdBaseService.getInspectionInfo(queryOpt)
+                inspectionInfo.groupBy { it.subTask?.scenseid }.forEach { (sceneId, ins) ->
+                    val problems = ins.flatMap { it.problems ?: emptyList() }
+                    if (problems.isEmpty()) return@forEach
+
+                    val unChangePros = problems.filter { it.ischanged != true }
+                    val changeRatio = if (problems.isNotEmpty()) {
+                        (problems.size - unChangePros.size.toDouble()) / problems.size
+                    } else {
+                        0.0
+                    }
+                    if (changeRatio < rateTotal) {
+                        res.add(DPTypicalProblemScene().apply {
+                            val firstSubtask = ins.first().subTask
+                            this.sceneId = sceneId
+                            this.sceneName = firstSubtask?.scensename
+                            this.townCode = firstSubtask?.towncode
+                            this.townName = firstSubtask?.townname
+                            this.problemCount = problems.size
+                            this.changeCount = problems.size - unChangePros.size
+                            this.changeRatio = changeRatio
+                            this.typicalProblems = unChangePros
+                                .distinctBy { it.ptguid }
+                        })
+                    }
+                }
+                return@queryCache res
+            },
+        )
+    }
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/EvaluationServiceImpl.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/EvaluationServiceImpl.kt
index 278aa8c..09e608e 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/EvaluationServiceImpl.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/EvaluationServiceImpl.kt
@@ -24,6 +24,7 @@
 import cn.flightfeather.supervision.lightshare.service.SearchService
 import cn.flightfeather.supervision.lightshare.service.SubtaskService
 import cn.flightfeather.supervision.lightshare.vo.*
+import com.github.pagehelper.PageHelper
 import org.springframework.beans.factory.annotation.Autowired
 import org.springframework.beans.factory.annotation.Value
 import org.springframework.stereotype.Service
@@ -275,6 +276,12 @@
         })
     }
 
+    override fun findBySceneId(sceneId: String, page: Int, pageSize: Int): Pair<DataHead, List<Evaluation>> {
+        val p = PageHelper.startPage<Evaluation>(page, pageSize)
+        val evaluationList = evaluationMapper.select(Evaluation().apply { this.sguid = sceneId })
+        return DataHead(p) to evaluationList
+    }
+
     override fun autoEvaluate(areaVo: AreaVo): BgTaskStatus? {
         //鎵ц鑷姩璇勪及
         return aopTaskCtrl.startNewTask(areaVo)
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/NightConstructionImpl.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/NightConstructionImpl.kt
index 4da12af..f91c310 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/NightConstructionImpl.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/NightConstructionImpl.kt
@@ -18,17 +18,17 @@
         val userinfoMapper: UserinfoMapper
 ) : NightConstructionService {
 
-    override fun getRecord(cityCode: String?, districtCode: String, page: Int, perPage: Int): BaseResponse<List<NightConstruction?>> {
+    override fun getRecord(cityCode: String?, districtCode: String, page: Int, perPage: Int): Pair<DataHead, List<NightConstruction?>> {
         val p = PageHelper.startPage<NightConstruction>(page, perPage)
         val result = nightConstructionMapper.selectByExample(Example(NightConstruction::class.java).apply {
             createCriteria().andEqualTo("ncCityCode", cityCode ?: "3100")
                     .andEqualTo("ncDistrictCode", districtCode)
             orderBy("ncRead").orderBy("ncId").desc()
         })
-        return BaseResponse(true, head = DataHead(p.pageNum, p.pages, p.total), data = result)
+        return DataHead(p.pageNum, p.pages, p.total) to result
     }
 
-    override fun getNightWorkFile(userId: String, isRead: Boolean?, page: Int, perPage: Int): BaseResponse<List<NightConstruction?>> {
+    override fun getNightWorkFile(userId: String, isRead: Boolean?, page: Int, perPage: Int): Pair<DataHead, List<NightConstruction?>> {
         val userInfo = userinfoMapper.selectByPrimaryKey(userId)
         val p = PageHelper.startPage<NightConstruction>(page, perPage)
         val result = nightConstructionMapper.selectByExample(Example(NightConstruction::class.java).apply {
@@ -47,10 +47,10 @@
             orderBy("ncCreateTime").desc()
         })
 
-        return BaseResponse(true, head = DataHead(p.pageNum, p.pages), data = result)
+        return DataHead(p.pageNum, p.pages, p.total) to result
     }
 
-    override fun signFile(userId: String, fileNum: String, id: Int): BaseResponse<Int> {
+    override fun signFile(userId: String, fileNum: String, id: Int): Int {
         val record = nightConstructionMapper.selectByExample(Example(NightConstruction::class.java).apply {
             createCriteria().andEqualTo("ncId", id)
                     .andEqualTo("ncNum", fileNum)
@@ -59,9 +59,9 @@
         return if (record.isNotEmpty()) {
             record[0]?.ncRead = true
             val result = nightConstructionMapper.updateByPrimaryKey(record[0])
-            BaseResponse(true, data = result)
+            result
         } else {
-            BaseResponse(false, "澶滈棿璁稿彲璇佽褰曚笉瀛樺湪")
+            throw BizException("澶滈棿璁稿彲璇佽褰曚笉瀛樺湪")
         }
     }
 
@@ -73,7 +73,7 @@
         return record
     }
 
-    override fun getSummary(cityCode: String?, districtCode: String): BaseResponse<NightWorkSummary> {
+    override fun getSummary(cityCode: String?, districtCode: String): NightWorkSummary {
         val total = nightConstructionMapper.selectCountByExample(Example(NightConstruction::class.java).apply {
             createCriteria().andEqualTo("ncCityCode", cityCode ?: "3100")
                     .andEqualTo("ncDistrictCode", districtCode)
@@ -83,6 +83,6 @@
                     .andEqualTo("ncDistrictCode", districtCode)
                     .andEqualTo("ncRead", true)
         })
-        return BaseResponse(true, data = NightWorkSummary(total, signed))
+        return NightWorkSummary(total, signed)
     }
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/ProblemlistServiceImpl.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/ProblemlistServiceImpl.kt
index d33ffe5..ccca225 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/ProblemlistServiceImpl.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/ProblemlistServiceImpl.kt
@@ -314,12 +314,12 @@
 
     override fun delete(id: String): Int = problemlistMapper.deleteByPrimaryKey(id)
 
-    override fun setDeleteStatus(id: String): BaseResponse<Int> {
+    override fun setDeleteStatus(id: String): Int {
         val p = problemlistMapper.selectByPrimaryKey(id)
 
         return when {
-            p.ischanged == true -> BaseResponse(false, "闂宸叉暣鏀癸紝鏃犳硶鍒犻櫎", data = 0)
-            p.extension3 != Constant.PROBLEM_UNCHECKED -> BaseResponse(false, "闂宸插鏍革紝鏃犳硶鍒犻櫎", data = 0)
+            p.ischanged == true -> throw BizException("闂宸叉暣鏀癸紝鏃犳硶鍒犻櫎")
+            p.extension3 != Constant.PROBLEM_UNCHECKED -> throw BizException("闂宸插鏍革紝鏃犳硶鍒犻櫎")
             else -> {
                 // 2021/4/25 灏嗗師鏉ョ殑娣诲姞鍒犻櫎鐘舵�佹敼涓虹洿鎺ュ垹闄�
 //                p.remark = Constant.PROBLEM_DELETED
@@ -333,7 +333,7 @@
                     inspection.problemcount = inspection.problemcount!! - 1
                     inspectionMapper.updateByPrimaryKey(inspection)
                 }
-                BaseResponse(true, "闂鍒犻櫎鎴愬姛", data = i)
+                i
             }
         }
     }
@@ -372,11 +372,11 @@
         remark: String,
         userId: String,
         userName: String,
-    ): BaseResponse<String> {
+    ): String {
         if (action !in 0..5) {
-            return BaseResponse(false, "闈炴硶鐨勬搷浣滄寚浠�")
+            throw BizException("闈炴硶鐨勬搷浣滄寚浠�")
         }
-        val p = problemlistMapper.selectByPrimaryKey(pId) ?: return BaseResponse(false, "闂涓嶅瓨鍦�")
+        val p = problemlistMapper.selectByPrimaryKey(pId) ?: throw BizException("闂涓嶅瓨鍦�")
         val subtask = p.stguid?.let { subTaskRep.findOne(it) }
         val response = BaseResponse<String>(true)
         var event = ""
@@ -485,15 +485,15 @@
                 bizLog.info(WorkStreamLogInfo(userId, userName, event))
             }
         }
-        return response
+        return if (response.success) "闂瀹℃牳鎴愬姛" else throw BizException(response.message)
     }
 
-    override fun newProblem(problem: String, files: Array<MultipartFile>): BaseResponse<String> {
+    override fun newProblem(problem: String, files: Array<MultipartFile>): String {
         //json杞琽bject
         val problemVo = ObjectMapper().readValue(problem, object : TypeReference<ProblemVo>() {})
 
-        val inspection = inspectionMapper.selectByPrimaryKey(problemVo.insGuid) ?: return BaseResponse(false, "宸℃煡璁板綍涓嶅瓨鍦�")
-        val scene = scenseMapper.selectByPrimaryKey(inspection.sguid) ?: return BaseResponse(false, "宸℃煡璁板綍瀵瑰簲鍦烘櫙涓嶅瓨鍦�")
+        val inspection = inspectionMapper.selectByPrimaryKey(problemVo.insGuid) ?: throw BizException("宸℃煡璁板綍涓嶅瓨鍦�")
+        val scene = scenseMapper.selectByPrimaryKey(inspection.sguid) ?: throw BizException("宸℃煡璁板綍瀵瑰簲鍦烘櫙涓嶅瓨鍦�")
         // 淇濆瓨闂
         val problemlist = ProblemListVo.newPro(inspection, problemVo, scene)
         problemlistMapper.insert(problemlist)
@@ -513,7 +513,7 @@
             bizLog.info(WorkStreamLogInfo(subtask?.executorguids, subtask?.executorrealtimes, event))
         }
 
-        return BaseResponse(true)
+        return "success"
     }
 
     override fun updateProblem(problem: ProblemListVo, deleteImg: List<String>, files: Array<MultipartFile>): String {
@@ -527,15 +527,15 @@
     }
 
 
-    override fun changeProblem(problemId: String, files: Array<MultipartFile>): BaseResponse<String> {
+    override fun changeProblem(problemId: String, files: Array<MultipartFile>): String {
         // 闂鍜岄棶棰樺浘鐗囧悎娉曟�ф鏌�
-        val p = problemlistMapper.selectByPrimaryKey(problemId) ?: return BaseResponse(false, "闂涓嶅瓨鍦�")
+        val p = problemlistMapper.selectByPrimaryKey(problemId) ?: throw BizException("闂涓嶅瓨鍦�")
         val mediaFiles = mediafileMapper.selectByExample(Example(Mediafile::class.java).apply {
             createCriteria().andEqualTo("businessguid", p.guid)
                 .andEqualTo("businesstypeid", 1)
                 .andEqualTo("ischanged", false)
         })
-        if (mediaFiles.isEmpty()) return BaseResponse(false, "闂涓嶅瓨鍦ㄦ垨宸叉暣鏀癸紝鏃犳硶閲嶅鏁存敼")
+        if (mediaFiles.isEmpty()) throw BizException("闂涓嶅瓨鍦ㄦ垨宸叉暣鏀癸紝鏃犳硶閲嶅鏁存敼")
 
         // 鏇存柊闂
         p.apply {
@@ -568,7 +568,7 @@
             }
         }
 
-        return BaseResponse(true)
+        return "success"
     }
 
     override fun updateChange(problemId: String, deleteImg: List<String>, files: Array<MultipartFile>): String {
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/SearchServiceImpl.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/SearchServiceImpl.kt
index e0f8796..0383be5 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/SearchServiceImpl.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/SearchServiceImpl.kt
@@ -28,7 +28,6 @@
 import java.io.File
 import java.io.FileInputStream
 import java.io.FileOutputStream
-import java.net.URLEncoder
 import java.nio.charset.StandardCharsets
 import java.util.*
 import javax.servlet.http.HttpServletResponse
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/UserinfoServiceImpl.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/UserinfoServiceImpl.kt
index 49b9890..4436197 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/UserinfoServiceImpl.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/service/impl/UserinfoServiceImpl.kt
@@ -7,8 +7,6 @@
 import cn.flightfeather.supervision.domain.ds1.entity.Userinfo
 import cn.flightfeather.supervision.domain.ds1.mapper.ScenseMapper
 import cn.flightfeather.supervision.domain.ds1.mapper.UserinfoMapper
-import cn.flightfeather.supervision.domain.ds1.repository.SceneRep
-import cn.flightfeather.supervision.domain.ds1.repository.TaskRep
 import cn.flightfeather.supervision.domain.ds1.repository.UserInfoSVRep
 import cn.flightfeather.supervision.domain.ds2.entity.UserinfoTZ
 import cn.flightfeather.supervision.domain.ds2.repository.UserInfoTZRep
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/AutoScoreResultVo.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/AutoScoreResultVo.kt
index f238900..88be586 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/AutoScoreResultVo.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/AutoScoreResultVo.kt
@@ -3,24 +3,41 @@
 import cn.flightfeather.supervision.domain.ds1.entity.Evaluation
 import cn.flightfeather.supervision.domain.ds1.entity.Itemevaluation
 import cn.flightfeather.supervision.domain.ds1.entity.Subtask
+import io.swagger.annotations.ApiModel
+import io.swagger.annotations.ApiModelProperty
 import java.util.*
 
 /**
  * 鑷姩璇勪及缁撴灉
  */
+@ApiModel(value = "鑷姩璇勪及缁撴灉")
 class AutoScoreResultVo {
+    @ApiModelProperty(value = "鐢ㄦ埛guid")
     var userId: String? = null
+    @ApiModelProperty(value = "鐢ㄦ埛鍚�")
     var userName: String? = null
+    @ApiModelProperty(value = "鏄惁鍚敤")
     var isEnable: Boolean = true
+    @ApiModelProperty(value = "鍦烘櫙绱㈠紩")
     var sceneIndex: Int? = null
+    @ApiModelProperty(value = "鍦烘櫙guid")
     var sceneId: String? = null
+    @ApiModelProperty(value = "鍦烘櫙鍚嶇О")
     var sceneName: String? = null
+    @ApiModelProperty(value = "涓�绾у満鏅悕绉�")
     var pName: String? = null
+    @ApiModelProperty(value = "浜岀骇鍦烘櫙鍚嶇О")
     var cName: String? = null
+    @ApiModelProperty(value = "涓夌骇鍦烘櫙鍚嶇О")
     var dName: String? = null
+    @ApiModelProperty(value = "鍥涚骇鍦烘櫙鍚嶇О")
     var tName: String? = null
+    @ApiModelProperty(value = "瀛愪换鍔uid")
     var subTaskId:String? = null
+    @ApiModelProperty(value = "瀛愪换鍔℃椂闂�")
     var subTaskTime: Date? = null
+    @ApiModelProperty(value = "璇勪及缁撴灉")
     var evaluation: Evaluation? = null
+    @ApiModelProperty(value = "椤硅瘎浼扮粨鏋�")
     var itemEvaluations: List<Itemevaluation?>? = null
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/BaseSearchResultVo.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/BaseSearchResultVo.kt
index 97acfa6..710712c 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/BaseSearchResultVo.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/BaseSearchResultVo.kt
@@ -1,6 +1,7 @@
 package cn.flightfeather.supervision.lightshare.vo
 
 import com.fasterxml.jackson.annotation.JsonInclude
+import com.github.pagehelper.Page
 import io.swagger.annotations.ApiModel
 import io.swagger.annotations.ApiModelProperty
 
@@ -22,7 +23,13 @@
     var totalPage: Int = 1,
     @ApiModelProperty("鎬昏褰曟暟")
     var totalCount:Long = 0
-)
+){
+    constructor(p: Page<*>) : this() {
+        this.page = p.pageNum
+        this.totalPage = p.pages
+        this.totalCount = p.total
+    }
+}
 
 open class DataContent{
 
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/CityVo.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/CityVo.kt
index 981f7ef..1c7b8fb 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/CityVo.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/CityVo.kt
@@ -1,15 +1,19 @@
 package cn.flightfeather.supervision.lightshare.vo
 
 import com.fasterxml.jackson.annotation.JsonInclude
+import io.swagger.annotations.ApiModel
+import io.swagger.annotations.ApiModelProperty
 
 @JsonInclude(JsonInclude.Include.NON_NULL)
+@ApiModel(value = "City")
 class CityVo {
+    @ApiModelProperty(value = "涓婚敭id")
     var cityid: Int? = null
-
+    @ApiModelProperty(value = "鐪佷唤id")
     var pronvinceid: Int? = null
-
+    @ApiModelProperty(value = "鍩庡競缂栫爜")
     var citycode: String? = null
-
+    @ApiModelProperty(value = "鍩庡競鍚嶇О")
     var cityname: String? = null
 
     var station: String? = null
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/DistrictVo.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/DistrictVo.kt
index 0aa680c..10a3405 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/DistrictVo.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/DistrictVo.kt
@@ -1,19 +1,46 @@
 package cn.flightfeather.supervision.lightshare.vo
 
 import com.fasterxml.jackson.annotation.JsonInclude
+import io.swagger.annotations.ApiModel
+import io.swagger.annotations.ApiModelProperty
 
 @JsonInclude(JsonInclude.Include.NON_NULL)
+@ApiModel(value = "鍖哄幙淇℃伅")
 class DistrictVo {
+    /**
+     * 鍖哄幙ID
+     */
+    @ApiModelProperty(value = "鍖哄幙ID")
     var districtid: Int? = null
 
+    /**
+     * 鐪佷唤ID
+     */
+    @ApiModelProperty(value = "鐪佷唤ID")
     var provinceid: Int? = null
 
+    /**
+     * 鍩庡競ID
+     */
+    @ApiModelProperty(value = "鍩庡競ID")
     var cityid: Int? = null
 
+    /**
+     * 鍖哄幙缂栫爜
+     */
+    @ApiModelProperty(value = "鍖哄幙缂栫爜")
     var districtcode: String? = null
 
+    /**
+     * 鍖哄幙鍚嶇О
+     */
+    @ApiModelProperty(value = "鍖哄幙鍚嶇О")
     var districtname: String? = null
 
+    /**
+     * 鍖哄幙鏄惁鏈夌珯鐐�
+     */
+    @ApiModelProperty(value = "鍖哄幙鏄惁鏈夌珯鐐�")
     var station: String? = null
 
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/DomainitemVo.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/DomainitemVo.kt
index 24704ba..9f0c937 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/DomainitemVo.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/DomainitemVo.kt
@@ -1,26 +1,61 @@
 package cn.flightfeather.supervision.lightshare.vo
 
 import com.fasterxml.jackson.annotation.JsonInclude
+import io.swagger.annotations.ApiModel
+import io.swagger.annotations.ApiModelProperty
 
 @JsonInclude(JsonInclude.Include.NON_NULL)
-public class DomainitemVo {
+@ApiModel(value = "鍊煎煙淇℃伅")
+class DomainitemVo {
+    /**
+     * 鍊煎煙ID
+     */
+    @ApiModelProperty(value = "鍊煎煙ID")
     var guid: String? = null
-
+    /**
+     * 鐩綍ID
+     */
+    @ApiModelProperty(value = "鐩綍ID")
     var dcguid: String? = null
-
+    /**
+     * 鐩綍鍚嶇О
+     */
+    @ApiModelProperty(value = "鐩綍鍚嶇О")
     var catelogname: String? = null
-
+    /**
+     * 鍊�
+     */
+    @ApiModelProperty(value = "鍊�")
     var value: String? = null
-
+    /**
+     * 鏂囨湰
+     */
+    @ApiModelProperty(value = "鏂囨湰")
     var text: String? = null
-
+    /**
+     * 绱㈠紩
+     */
+    @ApiModelProperty(value = "绱㈠紩")
     var index: Int? = null
-
+    /**
+     * 鐖剁洰褰旾D
+     */
+    @ApiModelProperty(value = "鐖剁洰褰旾D")
     var parentguid: String? = null
-
+    /**
+     * 鏄惁鍚敤
+     */
+    @ApiModelProperty(value = "鏄惁鍚敤")
     var isenable: Boolean? = null
-
+    /**
+     * 缂栫爜
+     */
+    @ApiModelProperty(value = "缂栫爜")
     var code: String? = null
 
+    /**
+     * 澶囨敞
+     */
+    @ApiModelProperty(value = "澶囨敞")
     var remark: String? = null
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/InspectionInfoVo.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/InspectionInfoVo.kt
index 8f363bd..8324859 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/InspectionInfoVo.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/InspectionInfoVo.kt
@@ -2,40 +2,57 @@
 
 import com.fasterxml.jackson.annotation.JsonFormat
 import com.fasterxml.jackson.annotation.JsonInclude
+import io.swagger.annotations.ApiModel
+import io.swagger.annotations.ApiModelProperty
 import org.apache.xpath.operations.Bool
 import java.time.LocalDateTime
 import java.util.*
 
 @JsonInclude(JsonInclude.Include.NON_NULL)
+@ApiModel(value = "宸℃煡淇℃伅")
 class InspectionInfoVo {
 
     //椤跺眰浠诲姟id
+    @ApiModelProperty(value = "椤跺眰浠诲姟id")
     var topTaskid: String? = null
     //椤跺眰浠诲姟鍚嶇О
+    @ApiModelProperty(value = "椤跺眰浠诲姟鍚嶇О")
     var topTaskName: String? = null
     //鍦烘櫙id
+    @ApiModelProperty(value = "鍦烘櫙id")
     var sceneId: String? = null
     //鍦烘櫙鍚嶇О
+    @ApiModelProperty(value = "鍦烘櫙鍚嶇О")
     var sceneName: String? = null
     //宸℃煡id
+    @ApiModelProperty(value = "宸℃煡id")
     var inspectionId: String? = null
     //瀛愪换鍔d
+    @ApiModelProperty(value = "瀛愪换鍔d")
     var subtaskId: String? = null
     //鏄惁宸茬洃绠�
+    @ApiModelProperty(value = "鏄惁宸茬洃绠�")
     var inspected: Boolean? = null
     //鐩戠鏃堕棿
+    @ApiModelProperty(value = "鐩戠鏃堕棿")
     @JsonFormat(pattern = "yyyy-MM-dd")
     var inspectionTime: Date? = null
     //鐩戠娆℃暟
+    @ApiModelProperty(value = "鐩戠娆℃暟")
     var inspectionTimes: Int? = null
-    //鏄惁鎵胯
+    //鏄惁鎵胯鏁存敼
+    @ApiModelProperty(value = "鏄惁鎵胯鏁存敼")
     var promised: Boolean? = null
     //鏄惁鍏ㄩ儴鏁存敼
+    @ApiModelProperty(value = "鏄惁鍏ㄩ儴鏁存敼")
     var changed: Boolean? = null
     //寰呮暣鏀归棶棰樻暟
+    @ApiModelProperty(value = "寰呮暣鏀归棶棰樻暟")
     var unChangedCount: Int? = null
     //宸叉暣鏀归棶棰樻暟
+    @ApiModelProperty(value = "宸叉暣鏀归棶棰樻暟")
     var changedCount: Int? = null
     //鎵胯鏁存敼鏃堕棿, YYYY骞碝M鏈圖D鏃�
+    @ApiModelProperty(value = "鎵胯鏁存敼鏃堕棿, YYYY骞碝M鏈圖D鏃�")
     var promisedTime: String? = null
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/InspectionVo.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/InspectionVo.kt
index 322b538..2d35b17 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/InspectionVo.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/InspectionVo.kt
@@ -1,20 +1,27 @@
 package cn.flightfeather.supervision.lightshare.vo
 
 import com.fasterxml.jackson.annotation.JsonInclude
+import io.swagger.annotations.ApiModel
+import io.swagger.annotations.ApiModelProperty
 import java.util.*
 import javax.persistence.Id
 
 @JsonInclude(JsonInclude.Include.NON_NULL)
+@ApiModel(value = "Inspection")
 public class InspectionVo {
     @Id
+    @ApiModelProperty(value = "宸℃煡淇℃伅涓婚敭id")
     var guid: String? = null
 
+    @ApiModelProperty(value = "宸℃煡浠诲姟guid")
     var stguid: String? = null
 
+    @ApiModelProperty(value = "鍦烘櫙id")
     var sguid: String? = null
 
+    @ApiModelProperty(value = "鍦烘櫙鍚嶇О")
     var scensename: String? = null
-
+    @ApiModelProperty(value = "鍦烘櫙鍦板潃")
     var scenseaddress: String? = null
 
     var istogether: Boolean? = null
@@ -25,30 +32,39 @@
 
     var entourage: String? = null
 
+    @ApiModelProperty(value = "宸℃煡寮�濮嬫椂闂�")
     var executionstarttime: Date? = null
 
+    @ApiModelProperty(value = "宸℃煡缁撴潫鏃堕棿")
     var executionendtime: Date? = null
-
+    @ApiModelProperty(value = "闂鏁伴噺")
     var problemcount: Int? = null
 
     /**
      * 鍏ㄩ儴澶嶆牳鍒欎负true
      */
+    @ApiModelProperty(value = "鏄惁鍏ㄩ儴澶嶆牳")
     var isrechecked: Boolean? = null
 
+    @ApiModelProperty(value = "澶嶆牳鏁伴噺")
     var recheckcount: Int? = null
 
+    @ApiModelProperty(value = "鏈畬鎴愭暟閲�")
     var promissednum: Int? = null
 
+    @ApiModelProperty(value = "鏁存敼鏁伴噺")
     var changednum: Int? = null
 
     /**
      * 鍏ㄩ儴鏁存敼鍒欎负true
      */
+    @ApiModelProperty(value = "鏄惁鍏ㄩ儴鏁存敼")
     var ischanged: Boolean? = null
 
+    @ApiModelProperty(value = "鏄惁宸茶瘎浼�")
     var isrvaluated: Boolean? = null
 
+    @ApiModelProperty(value = "鏄惁鏈畬鎴�")
     var ispromissed: Boolean? = null
 
     var promissedtime: Date? = null
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/MonitorDeviceInfoVo.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/MonitorDeviceInfoVo.kt
index bbd4c91..ca671fe 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/MonitorDeviceInfoVo.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/MonitorDeviceInfoVo.kt
@@ -2,6 +2,8 @@
 
 import cn.flightfeather.supervision.common.utils.Constant
 import cn.flightfeather.supervision.domain.ds1.entity.MonitorDeviceInfo
+import io.swagger.annotations.ApiModel
+import io.swagger.annotations.ApiModelProperty
 import org.springframework.beans.BeanUtils
 
 /**
@@ -9,6 +11,7 @@
  * @date 2024/8/13
  * @author feiyu02
  */
+@ApiModel(value = "鐩戞帶璁惧淇℃伅")
 class MonitorDeviceInfoVo : MonitorDeviceInfo {
     constructor():super()
     constructor(obj: MonitorDeviceInfo){
@@ -18,15 +21,21 @@
     }
 
     // 鍦烘櫙绫诲瀷
+    @ApiModelProperty(value = "鍦烘櫙绫诲瀷")
     var sceneType: String? = null
     // 璁惧绫诲瀷
+    @ApiModelProperty(value = "璁惧绫诲瀷")
     var type: String? = null
     // 璁惧瀛愮被鍨�
+    @ApiModelProperty(value = "璁惧瀛愮被鍨�")
     var subType: String? = null
     // 杩愮淮棰戞
+    @ApiModelProperty(value = "杩愮淮棰戞")
     var maintainFrequency: String? = null
     // 杩愯鐘舵��
+    @ApiModelProperty(value = "杩愯鐘舵��")
     var runningStatus: String? = null
     // 鎵�鏈夋潈
+    @ApiModelProperty(value = "鎵�鏈夋潈")
     var ownership: String? = null
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/DPEvaluateInfo.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/DPEvaluateInfo.kt
index f08a3be..ec8d71d 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/DPEvaluateInfo.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/DPEvaluateInfo.kt
@@ -2,6 +2,8 @@
 
 import cn.flightfeather.supervision.domain.ds1.entity.Evaluation
 import cn.flightfeather.supervision.domain.ds1.entity.Subtask
+import io.swagger.annotations.ApiModel
+import io.swagger.annotations.ApiModelProperty
 
 /**
  * 鏁版嵁浜у搧瑙勮寖璇勪及淇℃伅绫�
@@ -9,9 +11,14 @@
  * @date 2025/9/15
  * @author feiyu02
  */
+@ApiModel(value = "鍩虹鏁版嵁浜у搧瑙勮寖璇勪及淇℃伅")
 class DPEvaluateInfo {
+    @ApiModelProperty(value = "璇勪及绱㈠紩")
     var index: Int? = null
+    @ApiModelProperty(value = "瀛愪换鍔′俊鎭�")
     var subTask:Subtask? = null
+    @ApiModelProperty(value = "璇勪及淇℃伅")
     var evaluate: Evaluation? = null
+    @ApiModelProperty(value = "璇勪及绛夌骇")
     var scoreLevel: String? = null
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/DPInspectionInfo.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/DPInspectionInfo.kt
index a46a45f..e562a03 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/DPInspectionInfo.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/DPInspectionInfo.kt
@@ -1,16 +1,21 @@
 package cn.flightfeather.supervision.lightshare.vo.dataprod
 
-import cn.flightfeather.supervision.domain.ds1.entity.Problemlist
 import cn.flightfeather.supervision.domain.ds1.entity.Subtask
 import cn.flightfeather.supervision.lightshare.vo.ProblemListVo
+import io.swagger.annotations.ApiModel
+import io.swagger.annotations.ApiModelProperty
 
 /**
  * 鏁版嵁浜у搧鐜板満宸℃煡淇℃伅
  * @date 2025/9/15
  * @author feiyu02
  */
+@ApiModel(value = "鍩虹鏁版嵁浜у搧鐜板満宸℃煡淇℃伅")
 class DPInspectionInfo {
+    @ApiModelProperty(value = "宸℃煡绱㈠紩")
     var index: Int? = null
+    @ApiModelProperty(value = "瀛愪换鍔′俊鎭�")
     var subTask: Subtask? = null
+    @ApiModelProperty(value = "闂鍒楄〃")
     var problems: List<ProblemListVo>? = null
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/DPMonitorDataInfo.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/DPMonitorDataInfo.kt
index daeb2ef..cf13bd2 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/DPMonitorDataInfo.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/DPMonitorDataInfo.kt
@@ -2,13 +2,18 @@
 
 import cn.flightfeather.supervision.domain.ds1.entity.DustDataResult
 import cn.flightfeather.supervision.domain.ds1.entity.Scense
+import io.swagger.annotations.ApiModel
+import io.swagger.annotations.ApiModelProperty
 
 /**
  * 鏁版嵁浜у搧鐩戞祴鏁版嵁淇℃伅
  * @date 2025/9/15
  * @author feiyu02
  */
+@ApiModel(value = "鍩虹鏁版嵁浜у搧鐩戞祴鏁版嵁淇℃伅")
 class DPMonitorDataInfo {
+    @ApiModelProperty(value = "鍦烘櫙淇℃伅")
     var scene: Scense? = null
+    @ApiModelProperty(value = "鐩戞祴鏁版嵁")
     var data: DustDataResult? = null
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/DPSceneInfo.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/DPSceneInfo.kt
index 91a8a81..4563580 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/DPSceneInfo.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/DPSceneInfo.kt
@@ -2,25 +2,33 @@
 
 import cn.flightfeather.supervision.domain.ds1.entity.BaseScene
 import cn.flightfeather.supervision.domain.ds1.entity.Scense
+import io.swagger.annotations.ApiModel
+import io.swagger.annotations.ApiModelProperty
 
 /**
  * 鏁版嵁浜у搧鍦烘櫙淇℃伅
  * @date 2025/9/15
  * @author feiyu02
  */
+@ApiModel(value = "鍩虹鏁版嵁浜у搧鍦烘櫙淇℃伅")
 class DPSceneInfo {
 
     // 鍦烘櫙鍩烘湰淇℃伅
+    @ApiModelProperty(value = "鍦烘櫙鍩烘湰淇℃伅")
     var scene: Scense? = null
 
     // 鍦烘櫙鐗规湁淇℃伅
+    @ApiModelProperty(value = "鍦烘櫙鐗规湁淇℃伅")
     var subScene: BaseScene? = null
 
 
     // 鐘舵�侊紝鏍规嵁鍦烘櫙绫诲瀷涓嶅悓锛屾弿杩颁笉鍚岋紙渚嬪宸ュ湴锛氬缓璁句腑銆佸畬宸ャ�佸仠宸ワ紱鐮佸ご锛氬仠杩愩�佽惀杩愪腑锛�
+    @ApiModelProperty(value = "鍦烘櫙鐘舵��")
     var status: String? = null
+    @ApiModelProperty(value = "鍦烘櫙鐘舵�佸竷灏斿��")
     var statusBool: Boolean = false
 
     // 闃舵锛屾牴鎹満鏅被鍨嬩笉鍚岋紝鎻忚堪涓嶅悓锛堜緥濡傚伐鍦帮細鍩虹銆佺粨鏋勩�佸澶栨�讳綋绛夛級
+    @ApiModelProperty(value = "鍦烘櫙闃舵")
     var stage: String? = null
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/middle/DPEvaluationByArea.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/middle/DPEvaluationByArea.kt
index 8407aa6..4f52e1f 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/middle/DPEvaluationByArea.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/middle/DPEvaluationByArea.kt
@@ -1,59 +1,78 @@
 package cn.flightfeather.supervision.lightshare.vo.dataprod.middle
 
+import io.swagger.annotations.ApiModel
+import io.swagger.annotations.ApiModelProperty
+
 /**
  * 鍒嗗尯鍩熻鑼冩�ф儏鍐�
  * @date 2025/9/15
  * @author feiyu02
  */
+@ApiModel(value = "鍒嗗尯鍩熻鑼冩�ф儏鍐�")
 class DPEvaluationByArea {
+    @ApiModelProperty(value = "鐪佷唤缂栫爜")
     var provinceCode: String? = null
 
+    @ApiModelProperty(value = "鐪佷唤鍚嶇О")
     var provinceName: String? = null
 
+    @ApiModelProperty(value = "鍩庡競缂栫爜")
     var cityCode: String? = null
 
+    @ApiModelProperty(value = "鍩庡競鍚嶇О")
     var cityName: String? = null
 
+    @ApiModelProperty(value = "鍖哄幙缂栫爜")
     var districtCode: String? = null
 
+    @ApiModelProperty(value = "鍖哄幙鍚嶇О")
     var districtName: String? = null
 
+    @ApiModelProperty(value = "涔¢晣缂栫爜")
     var townCode: String? = null
 
+    @ApiModelProperty(value = "涔¢晣鍚嶇О")
     var townName: String? = null
 
     /**
      * 鏈夋晥鍦烘櫙鏁伴噺锛堝缓璁句腑鐨勫伐鍦帮紝钀ヨ繍涓殑鐮佸ご绛夛級
      */
+    @ApiModelProperty(value = "鏈夋晥鍦烘櫙鏁伴噺")
     var validSceneCount: Int = 0
 
     /**
      * 璇勪及鐐规
      */
+    @ApiModelProperty(value = "璇勪及鐐规")
     var evaluationCount: Int = 0
 
     /**
      * 瑙勮寖绛夌骇A锛堣鑼冿級鏁伴噺
      */
+    @ApiModelProperty(value = "瑙勮寖绛夌骇A锛堣鑼冿級鏁伴噺")
     var evalLevelACount: Int = 0
 
     /**
      * 瑙勮寖绛夌骇B锛堝熀鏈鑼冿級鏁伴噺
      */
+    @ApiModelProperty(value = "瑙勮寖绛夌骇B锛堝熀鏈鑼冿級鏁伴噺")
     var evalLevelBCount: Int = 0
 
     /**
      * 瑙勮寖绛夌骇C锛堜笉瑙勮寖锛夋暟閲�
      */
+    @ApiModelProperty(value = "瑙勮寖绛夌骇C锛堜笉瑙勮寖锛夋暟閲�")
     var evalLevelCCount: Int = 0
 
     /**
      * 瑙勮寖绛夌骇D锛堜弗閲嶄笉瑙勮寖锛夋暟閲�
      */
+    @ApiModelProperty(value = "瑙勮寖绛夌骇D锛堜弗閲嶄笉瑙勮寖锛夋暟閲�")
     var evalLevelDCount: Int = 0
 
     /**
      * 瑙勮寖绛夌骇A锛堣鑼冿級涓嶣锛堝熀鏈鑼冿級鍗犳瘮
      */
+    @ApiModelProperty(value = "瑙勮寖绛夌骇A锛堣鑼冿級涓嶣锛堝熀鏈鑼冿級鍗犳瘮")
     var evalLevelRatioAB: Double = 0.0
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/middle/DPInspectionSummary.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/middle/DPInspectionSummary.kt
index 4bf44ac..397d13c 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/middle/DPInspectionSummary.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/middle/DPInspectionSummary.kt
@@ -1,34 +1,43 @@
 package cn.flightfeather.supervision.lightshare.vo.dataprod.middle
 
+import io.swagger.annotations.ApiModel
+import io.swagger.annotations.ApiModelProperty
+
 /**
  * 鏁版嵁浜у搧宸℃煡姹囨�讳俊鎭�
  * @date 2025/9/15
  * @author feiyu02
  */
+@ApiModel(value = "鏁版嵁浜у搧宸℃煡姹囨�讳俊鎭�")
 class DPInspectionSummary {
 
     /**
      * 宸℃煡鍦烘櫙鎬绘暟
      */
+    @ApiModelProperty(value = "宸℃煡鍦烘櫙鎬绘暟")
     var sceneCount: Int = 0
 
     /**
      * 宸℃煡鐐规鎬绘暟
      */
+    @ApiModelProperty(value = "宸℃煡鐐规鎬绘暟")
     var pointCount: Int = 0
 
     /**
      * 宸℃煡澶嶆牳鐐规鎬绘暟
      */
+    @ApiModelProperty(value = "宸℃煡澶嶆牳鐐规鎬绘暟")
     var reviewPointCount: Int = 0
 
     /**
      * 鍋滃伐鍦烘櫙鏁�
      */
+    @ApiModelProperty(value = "鍋滃伐鍦烘櫙鏁�")
     var stopSceneCount: Int = 0
 
     /**
      * 瀹屽伐鍦烘櫙鏁�
      */
+    @ApiModelProperty(value = "瀹屽伐鍦烘櫙鏁�")
     var completeSceneCount: Int = 0
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/middle/DPProblemCountByArea.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/middle/DPProblemCountByArea.kt
index bcd8b2a..6fb65d6 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/middle/DPProblemCountByArea.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/middle/DPProblemCountByArea.kt
@@ -1,38 +1,75 @@
 package cn.flightfeather.supervision.lightshare.vo.dataprod.middle
 
+import io.swagger.annotations.ApiModel
 import io.swagger.annotations.ApiModelProperty
 
 /**
- *
+ * 鏁版嵁浜у搧闂鏁伴噺鎸夊尯鍩熸眹鎬讳俊鎭�
  * @date 2025/9/15
  * @author feiyu02
  */
+@ApiModel(value = "鏁版嵁浜у搧闂鏁伴噺鎸夊尯鍩熸眹鎬讳俊鎭�")
 class DPProblemCountByArea {
+    /**
+     * 鐪佷唤缂栫爜
+     */
+    @ApiModelProperty(value = "鐪佷唤缂栫爜")
     var provinceCode: String? = null
 
+    /**
+     * 鐪佷唤鍚嶇О
+     */
+    @ApiModelProperty(value = "鐪佷唤鍚嶇О")
     var provinceName: String? = null
 
+    /**
+     * 鍩庡競缂栫爜
+     */
+    @ApiModelProperty(value = "鍩庡競缂栫爜")
     var cityCode: String? = null
 
+    /**
+     * 鍩庡競鍚嶇О
+     */
+    @ApiModelProperty(value = "鍩庡競鍚嶇О")
     var cityName: String? = null
 
+    /**
+     * 鍖哄幙缂栫爜
+     */
+    @ApiModelProperty(value = "鍖哄幙缂栫爜")
     var districtCode: String? = null
 
+    /**
+     * 鍖哄幙鍚嶇О
+     */
+    @ApiModelProperty(value = "鍖哄幙鍚嶇О")
     var districtName: String? = null
 
+    /**
+     * 涔¢晣缂栫爜
+     */
+    @ApiModelProperty(value = "涔¢晣缂栫爜")
     var townCode: String? = null
 
+    /**
+     * 涔¢晣鍚嶇О
+     */
+    @ApiModelProperty(value = "涔¢晣鍚嶇О")
     var townName: String? = null
     /**
      * 鍦烘櫙鏁伴噺
      */
+    @ApiModelProperty(value = "鍦烘櫙鏁伴噺")
     var sceneCount: Int = 0
     /**
      * 闂鏁伴噺
      */
+    @ApiModelProperty(value = "闂鏁伴噺")
     var problemCount: Int = 0
     /**
      * 鍗曞満鏅棶棰樻暟閲忓潎鍊�
      */
-    var ratio: Double = 0.0
+    @ApiModelProperty(value = "鍗曞満鏅棶棰樻暟閲忓潎鍊�")
+    var proAvg: Double = 0.0
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/middle/DPProblemTypeCount.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/middle/DPProblemTypeCount.kt
index 756b7a5..47a1b63 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/middle/DPProblemTypeCount.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/middle/DPProblemTypeCount.kt
@@ -1,33 +1,42 @@
 package cn.flightfeather.supervision.lightshare.vo.dataprod.middle
 
+import io.swagger.annotations.ApiModel
+import io.swagger.annotations.ApiModelProperty
+
 /**
  * 鏁版嵁浜у搧闂鍒嗙被姹囨�讳俊鎭�
  * @date 2025/9/15
  * @author feiyu02
  */
+@ApiModel(value = "鏁版嵁浜у搧闂鍒嗙被姹囨�讳俊鎭�")
 class DPProblemTypeCount {
     /**
      * 闂鍒嗙被ID
      */
+    @ApiModelProperty(value = "闂鍒嗙被ID")
     var typeId: Byte? = null
 
     /**
      * 闂鍒嗙被鍚嶇О
      */
+    @ApiModelProperty(value = "闂鍒嗙被鍚嶇О")
     var typeName: String? = null
 
     /**
      * 闂鏁伴噺
      */
+    @ApiModelProperty(value = "闂鏁伴噺")
     var count: Int = 0
 
     /**
      * 闂鏁伴噺鍗犳瘮
      */
+    @ApiModelProperty(value = "闂鏁伴噺鍗犳瘮")
     var ratio: Double = 0.0
 
     /**
      * 闂鏁伴噺鍗犳瘮涓庝笂涓�涓椂闂寸偣鐨勫樊鍊�
      */
+    @ApiModelProperty(value = "闂鏁伴噺鍗犳瘮涓庝笂涓�涓椂闂寸偣鐨勫樊鍊�")
     var ratioDiff: Double = 0.0
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/middle/DPTypicalProblemScene.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/middle/DPTypicalProblemScene.kt
new file mode 100644
index 0000000..57a5ca1
--- /dev/null
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/vo/dataprod/middle/DPTypicalProblemScene.kt
@@ -0,0 +1,38 @@
+package cn.flightfeather.supervision.lightshare.vo.dataprod.middle
+
+import cn.flightfeather.supervision.lightshare.vo.ProblemListVo
+import io.swagger.annotations.ApiModel
+import io.swagger.annotations.ApiModelProperty
+
+/**
+ * 鍏稿瀷闂鍦烘櫙娓呭崟
+ * @date 2025/10/16
+ * @author feiyu02
+ */
+@ApiModel(value = "鍏稿瀷闂鍦烘櫙娓呭崟")
+class DPTypicalProblemScene {
+
+    @ApiModelProperty(value = "鍦烘櫙ID")
+    var sceneId: String? = null
+
+    @ApiModelProperty(value = "鍦烘櫙鍚嶇О")
+    var sceneName:String? = null
+
+    @ApiModelProperty(value = "涔¢晣缂栫爜")
+    var townCode: String? = null
+
+    @ApiModelProperty(value = "涔¢晣鍚嶇О")
+    var townName: String? = null
+
+    @ApiModelProperty(value = "闂鏁伴噺")
+    var problemCount: Int = 0
+
+    @ApiModelProperty(value = "鏁存敼鏁伴噺")
+    var changeCount: Int = 0
+
+    @ApiModelProperty(value = "鏁存敼鐜�")
+    var changeRatio: Double = 0.0
+
+    @ApiModelProperty(value = "鍏稿瀷闂")
+    var typicalProblems: List<ProblemListVo>? = null
+}
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/BgTaskController.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/BgTaskController.kt
index 504795b..c151def 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/BgTaskController.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/BgTaskController.kt
@@ -17,26 +17,26 @@
     @PostMapping("/status")
     fun getTaskStatus(
         @RequestBody condition: BgTaskConditionVo
-    ) = resPack { bgTaskService.getTaskStatus(condition) }
+    ) = bgTaskService.getTaskStatus(condition)
 
     @ApiOperation(value = "杩愯涓�涓换鍔�")
     @PutMapping("/start")
-    fun startTask(@RequestBody condition: BgTaskConditionVo) = resPack { bgTaskService.startTask(condition) }
+    fun startTask(@RequestBody condition: BgTaskConditionVo) = bgTaskService.startTask(condition)
 
     @ApiOperation(value = "寮哄埗鍏抽棴浠诲姟")
     @PutMapping("/shutDown")
-    fun shutDownTask(@RequestBody condition: BgTaskConditionVo) = resPack { bgTaskService.shutDownTask(condition) }
+    fun shutDownTask(@RequestBody condition: BgTaskConditionVo) = bgTaskService.shutDownTask(condition)
 
     @ApiOperation(value = "绉婚櫎涓�涓换鍔�")
     @PutMapping("/remove")
-    fun removeTask(@RequestBody condition: BgTaskConditionVo) = resPack { bgTaskService.removeTask(condition) }
+    fun removeTask(@RequestBody condition: BgTaskConditionVo) = bgTaskService.removeTask(condition)
 
     @ApiOperation(value = "鏂板缓骞惰繍琛屼竴涓祴璇曚换鍔�")
     @PutMapping("/newTask/test/start")
-    fun startNewTestTask(@RequestParam taskId: String) = resPack { bgTaskService.startNewTestTask(taskId) }
+    fun startNewTestTask(@RequestParam taskId: String) = bgTaskService.startNewTestTask(taskId)
 
     @ApiOperation(value = "鏂板缓涓�涓祴璇曚换鍔�")
     @PutMapping("/newTask/test")
     fun newTestTask(@ApiParam(value = "鍚庡彴浠诲姟id") @RequestParam taskId: String) =
-        resPack { bgTaskService.newTestTask(taskId) }
+        bgTaskService.newTestTask(taskId)
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/ChangeAdviceController.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/ChangeAdviceController.kt
index 9fce5e2..7a3eb98 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/ChangeAdviceController.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/ChangeAdviceController.kt
@@ -10,7 +10,7 @@
 
 @Api(tags = ["鏁存敼寤鸿API鎺ュ彛"])
 @RestController
-//@IgnoreResponseAdvice
+@IgnoreResponseAdvice
 @RequestMapping("/changeadvice")
 class ChangeAdviceController(val changeAdviceService: ChangeAdviceService) {
 
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/ChangeEffectController.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/ChangeEffectController.kt
index 375aef5..9880dbc 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/ChangeEffectController.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/ChangeEffectController.kt
@@ -7,7 +7,7 @@
 import org.springframework.web.bind.annotation.RequestMapping
 import org.springframework.web.bind.annotation.RestController
 
-@Api(tags = ["ChangeEffectController"], description = "鏁存敼鏁堟灉API鎺ュ彛")
+@Api(tags = ["鏁存敼鏁堟灉API鎺ュ彛"], description = "鏁存敼鏁堟灉API鎺ュ彛")
 @RestController
 @IgnoreResponseAdvice
 @RequestMapping("/changeeffect")
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/CityController.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/CityController.kt
index a7994b3..d9ede55 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/CityController.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/CityController.kt
@@ -6,7 +6,7 @@
 import io.swagger.annotations.Api
 import org.springframework.web.bind.annotation.*
 
-@Api(tags = ["CityController"], description = "鍩庡競淇℃伅API鎺ュ彛")
+@Api(tags = ["鍩庡競淇℃伅API鎺ュ彛"], description = "鍩庡競淇℃伅API鎺ュ彛")
 @RestController
 @IgnoreResponseAdvice
 @RequestMapping("/city")
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/DataProdBaseController.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/DataProdBaseController.kt
index b079252..a8c129c 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/DataProdBaseController.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/DataProdBaseController.kt
@@ -3,6 +3,8 @@
 import cn.flightfeather.supervision.lightshare.service.DataProdBaseService
 import cn.flightfeather.supervision.lightshare.vo.dataprod.QueryOpt
 import io.swagger.annotations.Api
+import io.swagger.annotations.ApiOperation
+import io.swagger.annotations.ApiParam
 import org.springframework.web.bind.annotation.*
 
 /**
@@ -10,7 +12,7 @@
  * @date 2025/9/15
  * @author feiyu02
  */
-@Api(tags = ["DataProdBaseController"], description = "鍩虹鏁版嵁浜у搧鐩稿叧API鎺ュ彛")
+@Api(tags = ["鍩虹鏁版嵁浜у搧鐩稿叧API鎺ュ彛"], description = "鍩虹鏁版嵁浜у搧鐩稿叧API鎺ュ彛")
 @RestController
 @RequestMapping("/dataProd/base")
 class DataProdBaseController(private val dataProdBaseService: DataProdBaseService) {
@@ -18,25 +20,33 @@
     /**
      * 鍦烘櫙鍒楄〃
      */
+    @ApiOperation(value = "鍦烘櫙鍒楄〃")
     @PostMapping("/scene/get")
-    fun getSceneInfo(@RequestBody queryOpt: QueryOpt) = resPack { dataProdBaseService.getSceneInfo(queryOpt) }
+    fun getSceneInfo(@ApiParam("鏌ヨ鏉′欢") @RequestBody queryOpt: QueryOpt) =
+        dataProdBaseService.getSceneInfo(queryOpt)
 
     /**
      * 瑙勮寖璇勪及鍒楄〃
      */
+    @ApiOperation(value = "瑙勮寖璇勪及鍒楄〃")
     @PostMapping("/evaluate/get")
-    fun getEvaluateInfo(@RequestBody queryOpt: QueryOpt) = resPack { dataProdBaseService.getEvaluateInfo(queryOpt) }
+    fun getEvaluateInfo(@ApiParam("鏌ヨ鏉′欢") @RequestBody queryOpt: QueryOpt) =
+        dataProdBaseService.getEvaluateInfo(queryOpt)
 
     /**
      * 宸℃煡鍒楄〃
      */
+    @ApiOperation(value = "宸℃煡鍒楄〃")
     @PostMapping("/inspection/get")
-    fun getInspectionInfo(@RequestBody queryOpt: QueryOpt) = resPack { dataProdBaseService.getInspectionInfo(queryOpt) }
+    fun getInspectionInfo(@ApiParam("鏌ヨ鏉′欢") @RequestBody queryOpt: QueryOpt) =
+        dataProdBaseService.getInspectionInfo(queryOpt)
 
 
     /**
      * 鐩戞祴鏁版嵁鍒楄〃
      */
+    @ApiOperation(value = "鐩戞祴鏁版嵁鍒楄〃")
     @PostMapping("/monitorData/get")
-    fun getMonitorDataInfo(@RequestBody queryOpt: QueryOpt) = resPack { dataProdBaseService.getMonitorDataInfo(queryOpt) }
+    fun getMonitorDataInfo(@ApiParam("鏌ヨ鏉′欢") @RequestBody queryOpt: QueryOpt) =
+        dataProdBaseService.getMonitorDataInfo(queryOpt)
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/DataProdFinalController.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/DataProdFinalController.kt
index c41733b..39dad07 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/DataProdFinalController.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/DataProdFinalController.kt
@@ -9,7 +9,7 @@
  * @date 2025/9/15
  * @author feiyu02
  */
-@Api(tags = ["DataProdFinalController"], description = "鏈�缁堟暟鎹骇鍝佺浉鍏矨PI鎺ュ彛")
+@Api(tags = ["鏈�缁堟暟鎹骇鍝佺浉鍏矨PI鎺ュ彛"], description = "鏈�缁堟暟鎹骇鍝佺浉鍏矨PI鎺ュ彛")
 @RestController
 @RequestMapping("/dataProd/final")
 class DataProdFinalController {
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/DataProdMiddleController.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/DataProdMiddleController.kt
index 04cfa85..ad5106a 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/DataProdMiddleController.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/DataProdMiddleController.kt
@@ -3,6 +3,8 @@
 import cn.flightfeather.supervision.lightshare.service.DataProdMiddleService
 import cn.flightfeather.supervision.lightshare.vo.dataprod.QueryOpt
 import io.swagger.annotations.Api
+import io.swagger.annotations.ApiOperation
+import io.swagger.annotations.ApiParam
 import org.springframework.web.bind.annotation.PostMapping
 import org.springframework.web.bind.annotation.RequestBody
 import org.springframework.web.bind.annotation.RequestMapping
@@ -13,7 +15,7 @@
  * @date 2025/9/15
  * @author feiyu02
  */
-@Api(tags = ["DataProdMiddleController"], description = "涓棿鏁版嵁浜у搧鐩稿叧API鎺ュ彛")
+@Api(tags = ["涓棿鏁版嵁浜у搧鐩稿叧API鎺ュ彛"], description = "涓棿鏁版嵁浜у搧鐩稿叧API鎺ュ彛")
 @RestController
 @RequestMapping("/dataProd/middle")
 class DataProdMiddleController(private val dataProdMiddleService: DataProdMiddleService) {
@@ -21,28 +23,40 @@
     /**
      * 宸℃煡瀹屾垚鎯呭喌姹囨��
      */
+    @ApiOperation(value = "宸℃煡瀹屾垚鎯呭喌姹囨��")
     @PostMapping("/inspection/summary/get")
-    fun getInspectionSummary(@RequestBody queryOpt: QueryOpt) =
-        resPack { dataProdMiddleService.getInspectionSummary(queryOpt) }
+    fun getInspectionSummary(@ApiParam("鏌ヨ鏉′欢") @RequestBody queryOpt: QueryOpt) =
+        dataProdMiddleService.getInspectionSummary(queryOpt)
 
     /**
      * 闂鍒嗙被姹囨��
      */
+    @ApiOperation(value = "闂鍒嗙被姹囨��")
     @PostMapping("/problemType/summary/get")
-    fun getProblemTypeSummary(@RequestBody queryOpt: QueryOpt) =
-        resPack { dataProdMiddleService.getProblemTypeSummary(queryOpt) }
+    fun getProblemTypeSummary(@ApiParam("鏌ヨ鏉′欢") @RequestBody queryOpt: QueryOpt) =
+        dataProdMiddleService.getProblemTypeSummary(queryOpt)
 
     /**
      * 鍒嗗尯鍩熷崟鍦烘櫙闂鏁伴噺
      */
+    @ApiOperation(value = "鍒嗗尯鍩熷崟鍦烘櫙闂鏁伴噺")
     @PostMapping("/problemCount/area/get")
-    fun getProblemCountByArea(@RequestBody queryOpt: QueryOpt) =
-        resPack { dataProdMiddleService.getProblemCountByArea(queryOpt) }
+    fun getProblemCountByArea(@ApiParam("鏌ヨ鏉′欢") @RequestBody queryOpt: QueryOpt) =
+        dataProdMiddleService.getProblemCountByArea(queryOpt)
+
+    /**
+     * 鍏稿瀷闂鍦烘櫙娓呭崟
+     */
+    @ApiOperation(value = "鍏稿瀷闂鍦烘櫙娓呭崟")
+    @PostMapping("/problemCount/typical/get")
+    fun getTypicalProblems(@ApiParam("鏌ヨ鏉′欢") @RequestBody queryOpt: QueryOpt) =
+        dataProdMiddleService.getTypicalProblems(queryOpt)
 
     /**
      * 鍒嗗尯鍩熻鑼冩�ф儏鍐�
      */
+    @ApiOperation(value = "鍒嗗尯鍩熻鑼冩�ф儏鍐�")
     @PostMapping("/evaluation/area/get")
-    fun getEvaluationByArea(@RequestBody queryOpt: QueryOpt) =
-        resPack { dataProdMiddleService.getEvaluationByArea(queryOpt) }
+    fun getEvaluationByArea(@ApiParam("鏌ヨ鏉′欢") @RequestBody queryOpt: QueryOpt) =
+        dataProdMiddleService.getEvaluationByArea(queryOpt)
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/DataProductController.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/DataProductController.kt
index d36ec3e..84a144c 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/DataProductController.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/DataProductController.kt
@@ -16,7 +16,7 @@
  * @date 2024/10/18
  * @author feiyu02
  */
-@Api(tags = ["DataProductController"], description = "鏁版嵁浜у搧鐩稿叧API鎺ュ彛")
+@Api(tags = ["鏁版嵁浜у搧鐩稿叧API鎺ュ彛"], description = "鏁版嵁浜у搧鐩稿叧API鎺ュ彛")
 @RestController
 @RequestMapping("/dataProduct")
 class DataProductController(private val dataProductService: DataProductService) {
@@ -29,17 +29,17 @@
         @RequestParam type: Int,
         @ApiParam("鏄惁寮哄埗鐢熸垚鏂扮殑鎶ュ憡") @RequestParam forceUpdate: Boolean,
         @ApiIgnore response: HttpServletResponse,
-    ) = resPack { dataProductService.downloadProduct(areaVo, type, forceUpdate, response) }
+    ) = dataProductService.downloadProduct(areaVo, type, forceUpdate, response)
 
     @ApiOperation(value = "鑾峰彇闂鏁存敼娓呭崟")
     @PostMapping("/problemChange")
     fun problemChangeList(
         @ApiParam("鏌ヨ鏉′欢") @RequestBody option: DataProdOption,
-    ) = resPack { dataProductService.problemChangeList(option) }
+    ) = dataProductService.problemChangeList(option)
 
     @ApiOperation(value = "鑾峰彇闂澶嶅彂鎯呭喌")
     @PostMapping("/problemRecurrence")
     fun problemRecurrence(
         @ApiParam("鏌ヨ鏉′欢") @RequestBody option: DataProdOption,
-    ) = resPack { dataProductService.problemRecurrence(option) }
+    ) = dataProductService.problemRecurrence(option)
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/DeviceController.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/DeviceController.kt
index 774113b..cc32658 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/DeviceController.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/DeviceController.kt
@@ -20,21 +20,21 @@
     fun fetchDevice(
         @ApiParam("鍦烘櫙id") @RequestParam sceneId: String,
         @ApiParam("璁惧绫诲瀷id") @RequestParam deviceTypeId: Byte,
-    ) = resPack { deviceService.findDevices(sceneId, Constant.DeviceType.fromValue(deviceTypeId)) }
+    ) = deviceService.findDevices(sceneId, Constant.DeviceType.fromValue(deviceTypeId))
 
     @ApiOperation("鏂板鍦烘櫙璁惧淇℃伅")
     @PutMapping("/upload")
     fun uploadDevice(
         @ApiParam("璁惧淇℃伅") @RequestBody deviceInfo: String,
         @ApiParam("璁惧绫诲瀷id") @RequestParam deviceTypeId: Byte,
-    ) = resPack { deviceService.insertDevice(deviceInfo, Constant.DeviceType.fromValue(deviceTypeId)) }
+    ) = deviceService.insertDevice(deviceInfo, Constant.DeviceType.fromValue(deviceTypeId))
 
     @ApiOperation("鏇存柊鍦烘櫙璁惧淇℃伅")
     @PostMapping("/update")
     fun updateDevice(
         @ApiParam("璁惧淇℃伅") @RequestBody deviceInfo: String,
         @ApiParam("璁惧绫诲瀷id") @RequestParam deviceTypeId: Byte,
-    ) = resPack { deviceService.updateDevice(deviceInfo, Constant.DeviceType.fromValue(deviceTypeId)) }
+    ) = deviceService.updateDevice(deviceInfo, Constant.DeviceType.fromValue(deviceTypeId))
 
     @ApiOperation("鑾峰彇鍦烘櫙璁惧浣嶇疆鍙樻洿淇℃伅")
     @GetMapping("/status")
@@ -42,14 +42,14 @@
         @ApiParam("鍦烘櫙id") @RequestParam(required = false) sceneId: String?,
         @ApiParam("璁惧id") @RequestParam deviceId: Int,
         @ApiParam("璁惧绫诲瀷id") @RequestParam deviceTypeId: Byte,
-    ) = resPack { deviceService.findDeviceLocations(sceneId, deviceId, Constant.DeviceType.fromValue(deviceTypeId)) }
+    ) = deviceService.findDeviceLocations(sceneId, deviceId, Constant.DeviceType.fromValue(deviceTypeId))
 
     @ApiOperation("鏂板鍦烘櫙璁惧浣嶇疆鍙樻洿淇℃伅")
     @PostMapping("/status/upload")
     fun uploadDeviceLocation(
         @ApiParam("璁惧浣嶇疆淇℃伅json") @RequestParam("status") status: String,
         @ApiParam("璁惧鍥剧墖") @RequestPart("images") images: Array<MultipartFile>,
-    ) = resPack { deviceService.insertDeviceLocation(status, images) }
+    ) = deviceService.insertDeviceLocation(status, images)
 
     @ApiOperation("鏇存柊鍦烘櫙璁惧浣嶇疆鍙樻洿淇℃伅")
     @PostMapping("/status/update")
@@ -57,7 +57,7 @@
         @ApiParam("璁惧浣嶇疆淇℃伅json") @RequestParam("status") status: String,
         @ApiParam("鍒犻櫎鐨勮澶囧浘鐗囪矾寰�") @RequestParam("deleteImg") deleteImg: List<String>,
         @ApiParam("璁惧鍥剧墖") @RequestPart("images") images: Array<MultipartFile>,
-    ) = resPack { deviceService.updateDeviceLocation(status, deleteImg, images) }
+    ) = deviceService.updateDeviceLocation(status, deleteImg, images)
 
     @ApiOperation("鏌ヨ浠庡閮ㄨ幏鍙栫殑璁惧淇℃伅")
     @PostMapping("/external/search")
@@ -70,5 +70,5 @@
         page: Int?,
         @ApiParam("鍗曢〉鏁版嵁閲�", defaultValue = "30", required = false) @RequestParam("per_page", required = false)
         perPage: Int?,
-    ) = resPack { deviceService.searchExternalDevice(areaVo, keyword, page, perPage) }
+    ) = deviceService.searchExternalDevice(areaVo, keyword, page, perPage)
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/EvaluationController.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/EvaluationController.kt
index d8ece8a..0b82f1e 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/EvaluationController.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/EvaluationController.kt
@@ -74,13 +74,21 @@
     fun findByInspectionId(@RequestParam("inspectionId") inspectionId: String) =
         evaluationService.findByInspectionId(inspectionId)
 
+    @ApiOperation(value = "鏍规嵁鍦烘櫙ID鏌ヨ璇勪及缁撴灉")
+    @GetMapping("/byScene")
+    fun findBySceneId(
+        @ApiParam("鍦烘櫙涓婚敭id") @RequestParam sceneId: String,
+        @ApiParam("椤电爜") @RequestParam page: Int,
+        @ApiParam("姣忛〉鏁伴噺") @RequestParam pageSize: Int,
+    ) = evaluationService.findBySceneId(sceneId, page, pageSize)
+
     @ApiOperation(value = "鏍规嵁鍖哄煙鑼冨洿鑷姩璇勪及")
     @PostMapping("/auto")
-    fun autoEvaluate(@RequestBody areaVo: AreaVo) = resPack { evaluationService.autoEvaluate(areaVo) }
+    fun autoEvaluate(@RequestBody areaVo: AreaVo) = evaluationService.autoEvaluate(areaVo)
 
     @ApiOperation(value = "鏍规嵁鍖哄煙鑼冨洿鑾峰彇鑷姩璇勪及鍘嗗彶璁板綍")
     @PostMapping("/auto/record")
-    fun findAutoEvaluation(@RequestBody areaVo: AreaVo) = resPack { evaluationService.findAutoEvaluation(areaVo) }
+    fun findAutoEvaluation(@RequestBody areaVo: AreaVo) = evaluationService.findAutoEvaluation(areaVo)
 
     @ApiOperation(value = "涓嬭浇鑷姩璇勪及缁撴灉")
     @PostMapping("/auto/record/download")
@@ -88,19 +96,19 @@
         @ApiParam("鍖哄煙鏉′欢淇℃伅") @RequestBody areaVo: AreaVo,
         @ApiParam("鏄惁寮哄埗鐢熸垚鏂扮殑鎶ュ憡") @RequestParam forceUpdate: Boolean,
         @ApiIgnore response: HttpServletResponse,
-    ) = resPack { evaluationService.downloadAutoEvaluation(areaVo, forceUpdate, response) }
+    ) = evaluationService.downloadAutoEvaluation(areaVo, forceUpdate, response)
 
     @ApiOperation(value = "涓嬭浇鑷姩璇勪及缁撴灉瀵煎叆妯℃澘")
     @PostMapping("/auto/record/template")
     fun downloadAutoEvaTemplate(
         @ApiParam("鍖哄煙鏉′欢淇℃伅") @RequestBody areaVo: AreaVo,
         @ApiIgnore response: HttpServletResponse,
-    ) = resPack { evaluationService.downloadAutoEvaTemplate(areaVo, response) }
+    ) = evaluationService.downloadAutoEvaTemplate(areaVo, response)
 
     @ApiOperation(value = "涓婁紶鑷姩璇勪及缁撴灉")
     @PutMapping("/auto/record/upload")
     fun uploadAutoEvaluation(
         @ApiParam("鍖哄煙鏉′欢淇℃伅") @RequestBody areaVo: AreaVo,
         @ApiParam("excel鏂囦欢") @RequestPart("excel") file: MultipartFile,
-    ) = resPack { evaluationService.uploadAutoEvaluation(areaVo, file) }
+    ) = evaluationService.uploadAutoEvaluation(areaVo, file)
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/EvaluationruleController.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/EvaluationruleController.kt
index 13324b9..cfbedea 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/EvaluationruleController.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/EvaluationruleController.kt
@@ -33,5 +33,5 @@
     fun delete (@PathVariable id: String) = evaluationruleService.delete(id)
 
     @PostMapping("/find")
-    fun find(@RequestBody areaVo: AreaEvaVo) = resPack { evaluationruleService.find(areaVo) }
+    fun find(@RequestBody areaVo: AreaEvaVo) = evaluationruleService.find(areaVo)
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/EvaluationsubruleController.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/EvaluationsubruleController.kt
index 18fba28..c2ee12c 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/EvaluationsubruleController.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/EvaluationsubruleController.kt
@@ -32,12 +32,6 @@
     @DeleteMapping("/{id}")
     fun delete(@PathVariable id: String) = evaluationsubruleService.delete(id)
 
-    @ApiOperation("鏍规嵁璇勪及鎬昏鍒欐煡璇笅灞炵殑瀛愯鍒�")
-    @GetMapping("/byRule")
-    fun getByBaseRule(
-        @ApiParam("璇勪及鎬昏鍒欎富閿甶d") @RequestParam id: String
-    ) = resPack { evaluationsubruleService.findByRuleId(id) }
-
     @IgnoreResponseAdvice
     @ApiOperation("鏍规嵁鍖哄幙鍜屽満鏅被鍨嬫煡璇㈣瘎鍒嗗瓙瑙勫垯")
     @GetMapping("/search")
@@ -47,9 +41,16 @@
             @ApiParam(value = "璇勫垎琛ㄧ増鏈紝 鏍煎紡 yyyy-MM, 榛樿鑾峰彇鏈�鏂扮増鏈�") @RequestParam("version") version: String?
     ) = evaluationsubruleService.search(districtCode, sceneTypeId, version)
 
+    @ApiOperation("鏍规嵁璇勪及鎬昏鍒欐煡璇笅灞炵殑瀛愯鍒�")
+    @GetMapping("/byRule")
+    fun getByBaseRule(
+        @ApiParam("璇勪及鎬昏鍒欎富閿甶d") @RequestParam id: String
+    ) = evaluationsubruleService.findByRuleId(id)
+
+
     @ApiOperation(value = "鏌ユ壘宸℃煡浠诲姟鑷姩璇勪及鐨勮瘎鍒嗙粏鑺�")
     @GetMapping("/score")
     fun getAutoScore(
         @ApiParam(value = "宸℃煡浠诲姟id") @RequestParam subTaskId: String,
-    ) = resPack { evaluationsubruleService.getAutoScore(subTaskId) }
+    ) = evaluationsubruleService.getAutoScore(subTaskId)
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/InspectionController.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/InspectionController.kt
index 502dc57..147cefe 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/InspectionController.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/InspectionController.kt
@@ -6,6 +6,7 @@
 import cn.flightfeather.supervision.lightshare.service.InspectionService
 import cn.flightfeather.supervision.lightshare.vo.AreaVo
 import cn.flightfeather.supervision.lightshare.vo.BaseResponse
+import cn.flightfeather.supervision.lightshare.vo.InspectionStatisticVo
 import io.swagger.annotations.Api
 import io.swagger.annotations.ApiOperation
 import io.swagger.annotations.ApiParam
@@ -65,8 +66,8 @@
         @ApiParam("鎬讳换鍔d") @RequestParam(required = false) topTaskId: String?,
         @ApiParam("鍦烘櫙绫诲瀷id") @RequestParam(required = false) sceneTypeId: String?,
         @ApiParam("鍖哄煙鏉′欢") @RequestBody(required = false) areaVo: AreaVo?,
-    ) = resPack {
-        if (topTaskId != null && sceneTypeId != null) {
+    ):List<InspectionStatisticVo> {
+        return if (topTaskId != null && sceneTypeId != null) {
             inspectionService.getStatistic(topTaskId, sceneTypeId)
         } else if (areaVo != null) {
             inspectionService.getStatistic(areaVo)
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/ItemevaluationController.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/ItemevaluationController.kt
index b0fc75a..59147de 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/ItemevaluationController.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/ItemevaluationController.kt
@@ -53,7 +53,7 @@
         @ApiParam(value = "璇勪及瑙勫垯涓婚敭id", name = "2024.9.24锛岀洰鍓嶆棤闇�浼犲叆姝ゅ弬鏁帮紝鏈帴鍙g粺涓�涓鸿嚜鍔ㄨ瘎浼拌鍒�")
         @RequestParam(required = false) ruleId: String?,
         @ApiParam(value = "鍏蜂綋鎵e垎鏉$洰涓婚敭锛堝彧浼犳渶灏忕骇鍒殑璇勪及椤癸級") @RequestBody itemList: List<String>,
-    ) = resPack { itemevaluationService.createItemEvaluation(subTaskId, ruleId, itemList) }
+    ) = itemevaluationService.createItemEvaluation(subTaskId, ruleId, itemList)
 
     @ApiOperation(value = "鏇存柊鍏蜂綋璇勪及缁撴灉")
     @PostMapping("/update")
@@ -62,11 +62,11 @@
         @ApiParam(value = "璇勪及瑙勫垯涓婚敭id", name = "2024.9.24锛岀洰鍓嶆棤闇�浼犲叆姝ゅ弬鏁帮紝鏈帴鍙g粺涓�涓鸿嚜鍔ㄨ瘎浼拌鍒�")
         @RequestParam(required = false) ruleId: String?,
         @ApiParam(value = "鍏蜂綋鎵e垎鏉$洰涓婚敭锛堝彧浼犳渶灏忕骇鍒殑璇勪及椤癸級") @RequestBody itemList: List<String>,
-    ) = resPack { itemevaluationService.updateItemEvaluation(subTaskId, ruleId, itemList) }
+    ) = itemevaluationService.updateItemEvaluation(subTaskId, ruleId, itemList)
 
     @ApiOperation(value = "鎵归噺鏇存柊璇勪及缁撴灉")
     @PostMapping("/update/multiple")
     fun updateMonitorDataEva(
         @ApiParam("寰楀垎淇敼缁嗚妭") @RequestBody evaVo: EvaluationUpdateVo,
-    ) = resPack { itemevaluationService.updateMonitorDataEva(evaVo) }
+    ) = itemevaluationService.updateMonitorDataEva(evaVo)
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/MediafileController.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/MediafileController.kt
index c9c90c9..748035d 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/MediafileController.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/MediafileController.kt
@@ -55,5 +55,5 @@
     fun getRoutineRecord(
         @ApiParam("宸℃煡璁板綍id", required = false) @RequestParam(required = false) iGuid: String?,
         @ApiParam("宸℃煡浠诲姟id", required = false) @RequestParam(required = false) stGuid: String?,
-    ) = resPack { mediafileService.getRoutineRecord(iGuid, stGuid) }
+    ) = mediafileService.getRoutineRecord(iGuid, stGuid)
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/MonitorDataController.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/MonitorDataController.kt
index d247848..f2bf529 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/MonitorDataController.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/MonitorDataController.kt
@@ -23,11 +23,11 @@
     @PutMapping("/result/construction/upload")
     fun uploadDustDataResult(
         @ApiParam("缁熻缁撴灉") @RequestBody dataList: List<DustDataResult>,
-    ) = resPack { monitorDataService.uploadDustDataResult(dataList) }
+    ) = monitorDataService.uploadDustDataResult(dataList)
 
     @ApiOperation(value = "鏌ヨ鎵皹鐩戞祴鏁版嵁鐨勬湀搴︾粺璁$粨鏋�")
     @PostMapping("/result/construction/get")
     fun fetchDustDataResult(
         @ApiParam("鍖哄煙鏉′欢淇℃伅") @RequestBody areaVo: AreaVo
-    ) = resPack { monitorDataService.fetchDustDataResult(areaVo) }
+    ) = monitorDataService.fetchDustDataResult(areaVo)
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/NightConstructionController.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/NightConstructionController.kt
index 2cc78fd..3a93d95 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/NightConstructionController.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/NightConstructionController.kt
@@ -37,7 +37,7 @@
         @RequestParam recordId: Int,
         @RequestParam(required = false) userId: String?,
         @RequestParam(required = false) sceneId: String?,
-    ) = resPack { nightConstructionService.updateRecord(recordId, userId, sceneId) }
+    ) = nightConstructionService.updateRecord(recordId, userId, sceneId)
 
     @GetMapping("/summary")
     fun getSummary(
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/OpenApiWordController.java b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/OpenApiWordController.java
index 7eeac79..28676ba 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/OpenApiWordController.java
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/OpenApiWordController.java
@@ -22,6 +22,8 @@
 import java.net.URLEncoder;
 import java.util.Map;
 
+
+@Api(tags = "OpenApi")
 @IgnoreResponseAdvice
 @Controller
 public class OpenApiWordController {
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/ProblemlistController.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/ProblemlistController.kt
index 64dbbce..8db8d38 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/ProblemlistController.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/ProblemlistController.kt
@@ -122,9 +122,9 @@
         @ApiParam("闂淇℃伅json") @RequestParam("problem") problem: String,
         @ApiParam("鍒犻櫎鐨勯棶棰樺浘鐗噄d") @RequestParam("deleteImg") deleteImg: List<String>,
         @ApiParam("闂鍥剧墖") @RequestPart("images") images: Array<MultipartFile>,
-    ) = resPack {
+    ): String {
         val problemVo = ObjectMapper().readValue(problem, object : TypeReference<ProblemListVo>() {})
-        problemlistService.updateProblem(problemVo, deleteImg, images)
+        return problemlistService.updateProblem(problemVo, deleteImg, images)
     }
 
     @ApiOperation(value = "鏁存敼涓�涓棶棰�", notes = "绠�鍖栦笂浼犳墍闇�闂淇℃伅锛屽皢澶ч儴鍒嗘搷浣滀氦鐢卞悗鍙板畬鎴�")
@@ -140,7 +140,7 @@
         @ApiParam("闂id") @RequestParam problemId: String,
         @ApiParam("鍒犻櫎鐨勬暣鏀瑰浘鐗噄d") @RequestParam("deleteImg") deleteImg: List<String>,
         @ApiParam("鏂板鏁存敼鍥剧墖") @RequestPart("images") images: Array<MultipartFile>,
-    ) = resPack { problemlistService.updateChange(problemId, deleteImg, images) }
+    ) = problemlistService.updateChange(problemId, deleteImg, images)
 
     @IgnoreResponseAdvice
     @ApiOperation(value = "閫氳繃浠诲姟鏌ユ壘闂")
@@ -155,7 +155,7 @@
     fun getSceneByProType(
         @RequestBody areaVo: AreaVo,
         @RequestParam pType: String,
-    ) = resPack { problemlistService.getSceneByProType(areaVo, pType) }
+    ) = problemlistService.getSceneByProType(areaVo, pType)
 
     @ApiOperation(value = "鏌ヨ鏌愭�讳换鍔′笅鍚勫満鏅殑闂鏁伴噺缁熻")
     @PostMapping("/summary/scene")
@@ -163,5 +163,5 @@
         @RequestBody areaVo: AreaVo,
         @ApiParam(value = "椤电爜") @RequestParam(value = "page") page: Int,
         @ApiParam(value = "鍗曢〉鏁版嵁閲�") @RequestParam(value = "per_page") perPage: Int,
-    ) = resPack { problemlistService.getSceneProSummary(areaVo, page, perPage) }
+    ) = problemlistService.getSceneProSummary(areaVo, page, perPage)
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/ScenseController.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/ScenseController.kt
index 9e6b5c7..2a121fb 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/ScenseController.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/ScenseController.kt
@@ -98,17 +98,17 @@
         @RequestParam("lng") lng: Double,
         @RequestParam("lat") lat: Double,
         @RequestParam("radius") radius: Double,
-    ) = resPack { scenseService.searchByCoordinate(lng, lat, radius) }
+    ) = scenseService.searchByCoordinate(lng, lat, radius)
 
     @ApiOperation(value = "閫氳繃鏂囦欢瀵煎叆鍦烘櫙淇℃伅")
     @PostMapping("/import")
     fun importSceneInfo(
         @RequestPart("file") files: Array<MultipartFile>,
-    ) = resPack { scenseService.importSceneInfo(files) }
+    ) = scenseService.importSceneInfo(files)
 
     @ApiOperation(value = "鍒涘缓鍦烘櫙淇℃伅")
     @PutMapping("/create")
     fun createScene(
         @RequestBody scense: Scense
-    ) = resPack { scenseService.createScene(scense) }
+    ) = scenseService.createScene(scense)
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/SearchController.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/SearchController.kt
index 486aca7..4f9ad5f 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/SearchController.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/SearchController.kt
@@ -49,7 +49,7 @@
     @GetMapping("/score/detail")
     fun getAutoScore(
         @ApiParam(value = "宸℃煡浠诲姟id") @RequestParam subTaskId: String,
-    ) = resPack { searchService.getScoreDetail(subTaskId) }
+    ) = searchService.getScoreDetail(subTaskId)
 
     @GetMapping("/subtask/jinshan")
     fun searchSubTask2(
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/SubtaskController.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/SubtaskController.kt
index 9f35c54..21eda2a 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/SubtaskController.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/SubtaskController.kt
@@ -46,7 +46,7 @@
 
     @ApiOperation("璋冩暣宸℃煡浠诲姟淇℃伅")
     @PostMapping("/adjust")
-    fun adjust(@RequestBody subtask: Subtask) = resPack { subtaskService.update(subtask) }
+    fun adjust(@RequestBody subtask: Subtask) = subtaskService.update(subtask)
 
     @IgnoreResponseAdvice
     @GetMapping("/{id}")
@@ -134,5 +134,5 @@
     @PostMapping("/summary/area/problem")
     fun getSummaryByArea(
         @RequestBody areaVo: AreaVo,
-    ) = resPack { subtaskService.getSummaryByArea(areaVo) }
+    ) = subtaskService.getSummaryByArea(areaVo)
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/TaskController.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/TaskController.kt
index 46a83de..5951258 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/TaskController.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/TaskController.kt
@@ -18,7 +18,7 @@
     fun save(@RequestBody task: Task) = taskService.save(task)
 
     @PutMapping("/create")
-    fun create(@RequestBody task: Task) = resPack { taskService.create(task) }
+    fun create(@RequestBody task: Task) = taskService.create(task)
 
     @IgnoreResponseAdvice
     @PostMapping
@@ -81,9 +81,9 @@
                 @RequestParam(value = "sceneId", required = false) sceneId: String?) = taskService.getRank(id, sceneTypeId, sceneId)
 
     @PostMapping("/find")
-    fun findTask(@RequestBody areaVo: AreaVo) = resPack { taskService.findTask(areaVo) }
+    fun findTask(@RequestBody areaVo: AreaVo) = taskService.findTask(areaVo)
 
     @ApiOperation(value = "鑾峰彇鎬讳换鍔$殑瀹屾垚鎯呭喌")
     @PostMapping("/progress")
-    fun findTaskProgress(@RequestBody areaVo: AreaVo) = resPack { taskService.findTaskProgress(areaVo) }
+    fun findTaskProgress(@RequestBody areaVo: AreaVo) = taskService.findTaskProgress(areaVo)
 }
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/UserMapController.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/UserMapController.kt
index 0c97e39..7f8dfdd 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/UserMapController.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/UserMapController.kt
@@ -33,14 +33,14 @@
         perPage: Int?,
         @ApiParam("鍖哄煙鏉′欢淇℃伅") @RequestBody
         areaVo: AreaVo
-    ) = resPack { userMapService.fetchDeviceMap(page, perPage, areaVo) }
+    ) = userMapService.fetchDeviceMap(page, perPage, areaVo)
 
     @ApiOperation(value = "鏂板鎴栨洿鏂扮敤鎴风洃娴嬭澶囨槧灏勫叧绯�")
     @PostMapping("/insertOrUpdate")
     fun insertOrUpdate(
         @ApiParam("鐢ㄦ埛鐩戞祴璁惧鏄犲皠鍏崇郴") @RequestBody
         param: Pair<AreaVo, DeviceMapVo>,
-    ) = resPack { userMapService.insertOrUpdate(param) }
+    ) = userMapService.insertOrUpdate(param)
 
     @ApiOperation(value = "鎼滅储绗笁鏂硅澶�")
     @PostMapping("/searchThirdPartyDevice")
@@ -53,5 +53,5 @@
         page: Int?,
         @ApiParam("鍗曢〉鏁版嵁閲�", defaultValue = "30", required = false) @RequestParam("per_page", required = false)
         perPage: Int?,
-    ) = resPack { userMapService.searchThirdPartyDevice(areaVo, keyword, page, perPage) }
+    ) = userMapService.searchThirdPartyDevice(areaVo, keyword, page, perPage)
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/UserinfoController.kt b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/UserinfoController.kt
index db2d389..d34917c 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/UserinfoController.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/lightshare/web/UserinfoController.kt
@@ -56,7 +56,7 @@
         page: Int?,
         @ApiParam("鍗曢〉鏁版嵁閲�", defaultValue = "30", required = false) @RequestParam("per_page", required = false)
         perPage: Int?,
-    ) = resPack { userinfoService.search(areaVo, keyword, userType, page, perPage) }
+    ) = userinfoService.search(areaVo, keyword, userType, page, perPage)
 
     @IgnoreResponseAdvice
     @PostMapping("/login")
diff --git a/src/main/kotlin/cn/flightfeather/supervision/model/dataproduct/PPListProbRecurrence.kt b/src/main/kotlin/cn/flightfeather/supervision/model/dataproduct/PPListProbRecurrence.kt
index 22f1cc3..b2aed0e 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/model/dataproduct/PPListProbRecurrence.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/model/dataproduct/PPListProbRecurrence.kt
@@ -1,29 +1,48 @@
 package cn.flightfeather.supervision.model.dataproduct
 
+import io.swagger.annotations.ApiModel
+import io.swagger.annotations.ApiModelProperty
+
 /**
  * 鍒濈骇鏁版嵁浜у搧
  * 闂澶嶅彂鎯呭喌
  * @date 2025/7/30
  * @author feiyu02
  */
+@ApiModel(value = "闂澶嶅彂鎯呭喌")
 class PPListProbRecurrence {
 
     // 鍦烘櫙鍞竴缂栧彿
+    @ApiModelProperty(value = "鍦烘櫙鍞竴缂栧彿")
     var index: Int? = null
     // 鍦烘櫙鍚嶇О
+    @ApiModelProperty(value = "鍦烘櫙鍚嶇О")
     var sceneName: String? = null
     // 鍦烘櫙绫诲瀷
+    @ApiModelProperty(value = "鍦烘櫙绫诲瀷")
     var sceneType: String? = null
+    // 鐪佷唤鍚嶇О
+    @ApiModelProperty(value = "鐪佷唤鍚嶇О")
     var provinceName: String? = null
+    // 鍩庡競鍚嶇О
+    @ApiModelProperty(value = "鍩庡競鍚嶇О")
     var cityName: String? = null
+    // 鍖哄幙鍚嶇О
+    @ApiModelProperty(value = "鍖哄幙鍚嶇О")
     var districtName: String? = null
+    // 涔¢晣鍚嶇О
+    @ApiModelProperty(value = "涔¢晣鍚嶇О")
     var townName: String? = null
     // 闂绫诲瀷
+    @ApiModelProperty(value = "闂绫诲瀷")
     var problemType: String? = null
     // 闂鍚嶇О
+    @ApiModelProperty(value = "闂鍚嶇О")
     var problemName: String? = null
     // 闂鏁�
+    @ApiModelProperty(value = "闂鏁�")
     var proNum: Int = 0
     // 鏁存敼鏁�
+    @ApiModelProperty(value = "鏁存敼鏁�")
     var changeNum: Int = 0
 }
\ No newline at end of file
diff --git a/src/main/kotlin/cn/flightfeather/supervision/model/dataproduct/PPListProblemChange.kt b/src/main/kotlin/cn/flightfeather/supervision/model/dataproduct/PPListProblemChange.kt
index a560fcb..51b58d8 100644
--- a/src/main/kotlin/cn/flightfeather/supervision/model/dataproduct/PPListProblemChange.kt
+++ b/src/main/kotlin/cn/flightfeather/supervision/model/dataproduct/PPListProblemChange.kt
@@ -1,5 +1,7 @@
 package cn.flightfeather.supervision.model.dataproduct
 
+import io.swagger.annotations.ApiModel
+import io.swagger.annotations.ApiModelProperty
 import java.util.*
 
 
@@ -9,30 +11,52 @@
  * @date 2025/7/30
  * @author feiyu02
  */
+@ApiModel(value = "鍒濈骇鏁版嵁浜у搧-鍦烘櫙闂鏁存敼娓呭崟")
 class PPListProblemChange {
 
     // 鍦烘櫙鍞竴缂栧彿
+    @ApiModelProperty(value = "鍦烘櫙鍞竴缂栧彿")
     var index: Int? = null
     // 鍦烘櫙鍚嶇О
+    @ApiModelProperty(value = "鍦烘櫙鍚嶇О")
     var sceneName: String? = null
     // 鍦烘櫙绫诲瀷
+    @ApiModelProperty(value = "鍦烘櫙绫诲瀷")
     var sceneType: String? = null
+    // 鐪佷唤鍚嶇О
+    @ApiModelProperty(value = "鐪佷唤鍚嶇О")
     var provinceName: String? = null
+    // 鍩庡競鍚嶇О
+    @ApiModelProperty(value = "鍩庡競鍚嶇О")
     var cityName: String? = null
+    // 鍖哄幙鍚嶇О
+    @ApiModelProperty(value = "鍖哄幙鍚嶇О")
     var districtName: String? = null
+    // 涔¢晣鍚嶇О
+    @ApiModelProperty(value = "涔¢晣鍚嶇О")
     var townName: String? = null
     // 宸℃煡鏃堕棿
+    @ApiModelProperty(value = "宸℃煡鏃堕棿")
     var inspectionTime: Date? = null
     // 闂绫诲瀷
+    @ApiModelProperty(value = "闂绫诲瀷")
     var problemType: String? = null
     // 闂鍚嶇О
+    @ApiModelProperty(value = "闂鍚嶇О")
     var problemName: String? = null
     // 闂鍖哄煙
+    @ApiModelProperty(value = "闂鍖哄煙")
     var location: String? = null
+    // 闂鍙戠敓鏃堕棿
+    @ApiModelProperty(value = "闂鍙戠敓鏃堕棿")
     var problemTime: Date? = null
     // 闂鏄惁鏁存敼
+    @ApiModelProperty(value = "闂鏄惁鏁存敼")
     var hasChanged: Boolean = false
     // 鏁存敼鏁�
+    @ApiModelProperty(value = "鏁存敼鏁�")
     var changeSum: Int = 0
+    // 鏁存敼鏃堕棿
+    @ApiModelProperty(value = "鏁存敼鏃堕棿")
     var changedTime: Date? = null
 }
\ No newline at end of file
diff --git a/src/main/resources/generator/generatorConfig4ds1.xml b/src/main/resources/generator/generatorConfig4ds1.xml
index 8809639..8c96315 100644
--- a/src/main/resources/generator/generatorConfig4ds1.xml
+++ b/src/main/resources/generator/generatorConfig4ds1.xml
@@ -37,32 +37,79 @@
             <property name="trimStrings" value="true"/>
         </javaModelGenerator>
         <!-- 鐢熸垚鏄犲皠鏂囦欢鐨勫寘鍚嶅拰浣嶇疆-->
-<!--        <sqlMapGenerator targetPackage="ds1" targetProject="src/main/resources/mapper">-->
-<!--            <property name="enableSubPackages" value="true"/>-->
-<!--        </sqlMapGenerator>-->
+        <sqlMapGenerator targetPackage="ds1" targetProject="src/main/resources/mapper">
+            <property name="enableSubPackages" value="true"/>
+        </sqlMapGenerator>
         <!-- 鐢熸垚DAO鐨勫寘鍚嶅拰浣嶇疆-->
-<!--        <javaClientGenerator type="XMLMAPPER" targetPackage="cn.flightfeather.supervision.domain.ds1.mapper" targetProject="src/main/kotlin">-->
-<!--            <property name="enableSubPackages" value="true"/>-->
-<!--        </javaClientGenerator>-->
+        <javaClientGenerator type="XMLMAPPER" targetPackage="cn.flightfeather.supervision.domain.ds1.mapper" targetProject="src/main/kotlin">
+            <property name="enableSubPackages" value="true"/>
+        </javaClientGenerator>
         <!-- 瑕佺敓鎴愮殑琛� tableName鏄暟鎹簱涓殑琛ㄥ悕鎴栬鍥惧悕 domainObjectName鏄疄浣撶被鍚�-->
-        <table tableName="sm_t_changeadvice" domainObjectName="ChangeAdvice" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
-        <table tableName="sm_t_changeeffect" domainObjectName="ChangeEffect" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
-        <table tableName="sm_t_monitorobjectversion" domainObjectName="Monitorobjectversion" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
-        <table tableName="tm_t_subtask" domainObjectName="Subtask" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
-        <table tableName="sm_t_scene_construction_site" domainObjectName="SceneConstructionSite" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
-        <table tableName="sm_t_scene_device" domainObjectName="SceneDevice" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
-        <table tableName="sm_t_scene_mixing_plant" domainObjectName="SceneMixingPlant" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
-        <table tableName="sm_t_scene_storage_yard" domainObjectName="SceneStorageYard" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
-        <table tableName="sm_t_scene_wharf" domainObjectName="SceneWharf" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
-        <table tableName="sm_t_night_construction" domainObjectName="NightConstruction" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
-        <table tableName="sm_t_score" domainObjectName="Score" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"/>
-        <table tableName="sm_t_scense" domainObjectName="Scense" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"/>
-        <table tableName="ea_t_mediafile" domainObjectName="LedgerMediaFile" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"/>
-        <table tableName="ea_t_dust_data_result" domainObjectName="DustDataResult" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false"
-               enableSelectByExample="false" selectByExampleQueryId="false"/>
-        <table tableName="ea_t_evaluation" domainObjectName="Evaluation" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false"
-               enableSelectByExample="false" selectByExampleQueryId="false"/>
+<!--        <table tableName="sm_t_changeadvice" domainObjectName="ChangeAdvice" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>-->
+<!--        <table tableName="sm_t_changeeffect" domainObjectName="ChangeEffect" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>-->
+<!--        <table tableName="sm_t_city" domainObjectName="City" enableCountByExample="false" enableUpdateByExample="false"-->
+<!--               enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>-->
+<!--        <table tableName="di_t_device_status" domainObjectName="DeviceStatus" enableCountByExample="false"-->
+<!--               enableUpdateByExample="false" enableDeleteByExample="false"-->
+<!--               enableSelectByExample="false" selectByExampleQueryId="false"/>-->
+<!--        <table tableName="sm_t_district" domainObjectName="District" enableCountByExample="false"-->
+<!--               enableUpdateByExample="false" enableDeleteByExample="false"-->
+<!--               enableSelectByExample="false" selectByExampleQueryId="false"/>-->
+<!--        <table tableName="sm_t_domaincatalog" domainObjectName="Domaincatalog" enableCountByExample="false"-->
+<!--               enableUpdateByExample="false" enableDeleteByExample="false"-->
+<!--               enableSelectByExample="false" selectByExampleQueryId="false"/>-->
+<!--        <table tableName="sm_t_domainitem" domainObjectName="Domainitem" enableCountByExample="false"-->
+<!--               enableUpdateByExample="false" enableDeleteByExample="false"-->
+<!--               enableSelectByExample="false" selectByExampleQueryId="false"/>-->
+<!--        <table tableName="ea_t_dust_data_result" domainObjectName="DustDataResult" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false"-->
+<!--               enableSelectByExample="false" selectByExampleQueryId="false"/>-->
+<!--        <table tableName="ea_t_evaluation" domainObjectName="Evaluation" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false"-->
+<!--               enableSelectByExample="false" selectByExampleQueryId="false"/>-->
+<!--        <table tableName="sm_t_evaluationrule" domainObjectName="Evaluationrule" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false"-->
+<!--               enableSelectByExample="false" selectByExampleQueryId="false"/>-->
+<!--        <table tableName="sm_t_evaluationsubrule" domainObjectName="Evaluationsubrule" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false"-->
+<!--               enableSelectByExample="false" selectByExampleQueryId="false"/>-->
+<!--        <table tableName="im_t_inspection" domainObjectName="Inspection" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false"-->
+<!--               enableSelectByExample="false" selectByExampleQueryId="false"/>-->
+<!--        <table tableName="ea_t_itemevaluation" domainObjectName="Itemevaluation" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false"-->
+<!--               enableSelectByExample="false" selectByExampleQueryId="false"/>-->
+<!--        <table tableName="im_t_mediafile" domainObjectName="Mediafile" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false"-->
+<!--               enableSelectByExample="false" selectByExampleQueryId="false"/>-->
 <!--        <table tableName="di_t_monitor_device_info" domainObjectName="MonitorDeviceInfo" enableCountByExample="false"-->
+<!--               enableUpdateByExample="false" enableDeleteByExample="false"-->
+<!--               enableSelectByExample="false" selectByExampleQueryId="false">-->
+<!--        </table>-->
+<!--        <table tableName="sm_t_monitorobjectversion" domainObjectName="Monitorobjectversion" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>-->
+<!--        <table tableName="sm_t_night_construction" domainObjectName="NightConstruction" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>-->
+<!--        <table tableName="im_t_problemlist" domainObjectName="Problemlist" enableCountByExample="false"-->
+<!--               enableUpdateByExample="false" enableDeleteByExample="false"-->
+<!--               enableSelectByExample="false" selectByExampleQueryId="false">-->
+<!--        </table>-->
+<!--        <table tableName="sm_t_problemtype" domainObjectName="Problemtype" enableCountByExample="false"-->
+<!--               enableUpdateByExample="false" enableDeleteByExample="false"-->
+<!--               enableSelectByExample="false" selectByExampleQueryId="false">-->
+<!--        </table>-->
+<!--        <table tableName="di_t_production_device_info" domainObjectName="ProductionDeviceInfo"-->
+<!--               enableCountByExample="false"-->
+<!--               enableUpdateByExample="false" enableDeleteByExample="false"-->
+<!--               enableSelectByExample="false" selectByExampleQueryId="false"/>-->
+<!--        <table tableName="sm_t_province" domainObjectName="Province" enableCountByExample="false"-->
+<!--               enableUpdateByExample="false" enableDeleteByExample="false"-->
+<!--               enableSelectByExample="false" selectByExampleQueryId="false">-->
+<!--        </table>-->
+<!--        <table tableName="sm_t_scene_construction_site" domainObjectName="SceneConstructionSite" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>-->
+<!--        <table tableName="sm_t_scene_device" domainObjectName="SceneDevice" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>-->
+<!--        <table tableName="sm_t_scene_mixing_plant" domainObjectName="SceneMixingPlant" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>-->
+<!--        <table tableName="sm_t_scene_storage_yard" domainObjectName="SceneStorageYard" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>-->
+<!--        <table tableName="sm_t_scene_wharf" domainObjectName="SceneWharf" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>-->
+<!--        <table tableName="sm_t_scense" domainObjectName="Scense" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"/>-->
+<!--        <table tableName="sm_t_score" domainObjectName="Score" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"/>-->
+<!--        <table tableName="tm_t_subtask" domainObjectName="Subtask" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>-->
+<!--        <table tableName="tm_t_task" domainObjectName="Task" enableCountByExample="false"-->
+<!--               enableUpdateByExample="false" enableDeleteByExample="false"-->
+<!--               enableSelectByExample="false" selectByExampleQueryId="false">-->
+<!--        </table>-->
+<!--        <table tableName="sm_t_town" domainObjectName="Town" enableCountByExample="false"-->
 <!--               enableUpdateByExample="false" enableDeleteByExample="false"-->
 <!--               enableSelectByExample="false" selectByExampleQueryId="false">-->
 <!--        </table>-->
@@ -70,12 +117,20 @@
 <!--               enableCountByExample="false"-->
 <!--               enableUpdateByExample="false" enableDeleteByExample="false"-->
 <!--               enableSelectByExample="false" selectByExampleQueryId="false"/>-->
-        <table tableName="di_t_production_device_info" domainObjectName="ProductionDeviceInfo"
-               enableCountByExample="false"
+<!--            <table tableName="sm_t_userinfo" domainObjectName="Userinfo" enableCountByExample="false"-->
+<!--                   enableUpdateByExample="false" enableDeleteByExample="false"-->
+<!--                   enableSelectByExample="false" selectByExampleQueryId="false"/>-->
+<!--        <table tableName="sys_version" domainObjectName="Version" enableCountByExample="false"-->
+<!--               enableUpdateByExample="false" enableDeleteByExample="false"-->
+<!--               enableSelectByExample="false" selectByExampleQueryId="false" />-->
+        <table tableName="sm_t_data_product_base" domainObjectName="DataProductBase" enableCountByExample="false"
                enableUpdateByExample="false" enableDeleteByExample="false"
-               enableSelectByExample="false" selectByExampleQueryId="false"/>
-        <table tableName="di_t_device_status" domainObjectName="DeviceStatus" enableCountByExample="false"
+               enableSelectByExample="false" selectByExampleQueryId="false" />
+        <table tableName="sm_t_data_product_middle" domainObjectName="DataProductMiddle" enableCountByExample="false"
                enableUpdateByExample="false" enableDeleteByExample="false"
-               enableSelectByExample="false" selectByExampleQueryId="false"/>
+               enableSelectByExample="false" selectByExampleQueryId="false" />
+        <table tableName="sm_t_data_product_final" domainObjectName="DataProductFinal" enableCountByExample="false"
+               enableUpdateByExample="false" enableDeleteByExample="false"
+               enableSelectByExample="false" selectByExampleQueryId="false" />
     </context>
 </generatorConfiguration>
\ No newline at end of file
diff --git a/src/main/resources/generator/generatorConfig4ds3.xml b/src/main/resources/generator/generatorConfig4ds3.xml
index 0492f17..51b2fee 100644
--- a/src/main/resources/generator/generatorConfig4ds3.xml
+++ b/src/main/resources/generator/generatorConfig4ds3.xml
@@ -58,5 +58,6 @@
 <!--        <table tableName="du_js_t_site_map" domainObjectName="JSDustSiteMap" enableCountByExample="false"-->
 <!--               enableUpdateByExample="false" enableDeleteByExample="false"-->
 <!--               enableSelectByExample="false" selectByExampleQueryId="false"/>-->
+        <table tableName="ea_t_mediafile" domainObjectName="LedgerMediaFile" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"/>
     </context>
 </generatorConfiguration>
\ No newline at end of file
diff --git a/src/test/kotlin/cn/flightfeather/supervision/lightshare/web/DataProdMiddleControllerTest.kt b/src/test/kotlin/cn/flightfeather/supervision/lightshare/web/DataProdMiddleControllerTest.kt
new file mode 100644
index 0000000..c106bc7
--- /dev/null
+++ b/src/test/kotlin/cn/flightfeather/supervision/lightshare/web/DataProdMiddleControllerTest.kt
@@ -0,0 +1,68 @@
+package cn.flightfeather.supervision.lightshare.web
+
+import cn.flightfeather.supervision.common.utils.Constant
+import cn.flightfeather.supervision.lightshare.service.DataProdMiddleService
+import cn.flightfeather.supervision.lightshare.vo.dataprod.QueryOpt
+import cn.flightfeather.supervision.lightshare.vo.dataprod.middle.DPTypicalProblemScene
+import org.junit.Test
+import org.junit.jupiter.api.AfterEach
+import org.junit.jupiter.api.BeforeEach
+import org.junit.jupiter.api.extension.ExtendWith
+import org.junit.runner.RunWith
+import org.springframework.beans.factory.annotation.Autowired
+import org.springframework.boot.test.context.SpringBootTest
+import org.springframework.test.context.junit.jupiter.SpringExtension
+import org.springframework.test.context.junit4.SpringRunner
+import java.time.LocalDateTime
+import kotlin.test.assertEquals
+
+@RunWith(SpringRunner::class)
+@ExtendWith(SpringExtension::class)
+@SpringBootTest
+class DataProdMiddleControllerTest {
+
+    @Autowired
+    lateinit var dataProdMiddleService: DataProdMiddleService
+
+    private val queryOpt = QueryOpt().apply{
+        topTaskId = "cFnO09ldeQeP1XEg"
+        provinceCode = "31"
+        cityCode = "3100"
+        districtCode = "310104"
+        startTime = LocalDateTime.of(2025, 7, 1, 0, 0, 0)
+        endTime = LocalDateTime.of(2025, 7, 31, 23, 59, 59)
+        sceneTypeId = Constant.SceneType.TYPE1.value
+        needCache = true
+    }
+
+    @BeforeEach
+    fun setUp() {
+
+    }
+
+    @AfterEach
+    fun tearDown() {
+    }
+
+    @Test
+    fun getInspectionSummary() {
+    }
+
+    @Test
+    fun getProblemTypeSummary() {
+    }
+
+    @Test
+    fun getProblemCountByArea() {
+    }
+
+    @Test
+    fun getEvaluationByArea() {
+    }
+
+    @Test
+    fun getTypicalProblems() {
+        val res = dataProdMiddleService.getTypicalProblems(queryOpt)
+        println(res)
+    }
+}
\ No newline at end of file

--
Gitblit v1.9.3