From 491d524a992817e164ecc6f24a771ab9ce0f0379 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期三, 08 一月 2025 14:41:21 +0800
Subject: [PATCH] 工单:故障类型图像质量合并

---
 ycl-server/src/main/resources/mapper/zgyw/YwUnitMapper.xml                         |    7 +
 ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java      |   15 +++++
 ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml                      |   14 +++-
 ycl-pojo/src/main/java/com/ycl/platform/domain/query/DistributeWorkOrderQuery.java |    1 
 ycl-pojo/src/main/java/com/ycl/platform/domain/query/WorkOrderExportQuery.java     |    1 
 ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java   |   64 +++++++++++++++-----
 ycl-pojo/src/main/java/com/ycl/platform/domain/query/WorkOrderQuery.java           |    1 
 ycl-common/src/main/java/enumeration/ErrorType.java                                |   46 ++++++++-------
 8 files changed, 105 insertions(+), 44 deletions(-)

diff --git a/ycl-common/src/main/java/enumeration/ErrorType.java b/ycl-common/src/main/java/enumeration/ErrorType.java
index 51d3f61..0fff84a 100644
--- a/ycl-common/src/main/java/enumeration/ErrorType.java
+++ b/ycl-common/src/main/java/enumeration/ErrorType.java
@@ -17,20 +17,20 @@
     //閫氱敤
 //    PLATFORM_OFFLINE("PLATFORMOFFLINE", "骞冲彴绂荤嚎","COMMON"),
 //    SEVER_INTERRUPT("SEVERINTERRUPT", "鏈嶅姟涓柇","COMMON"),
-    DEVICE_OFFLINE("DEVICEOFFLINE", "璁惧绂荤嚎","COMMON"),
-    POINT_INFO_ERROR("POINTINFOERRO", "鐐逛綅淇℃伅閿欒","COMMON"),
+    DEVICE_OFFLINE("DEVICEOFFLINE", "璁惧绂荤嚎","COMMON",false),
+    POINT_INFO_ERROR("POINTINFOERRO", "鐐逛綅淇℃伅閿欒","COMMON",false),
     //瑙嗛
-    CLOCK_SKEW("CLOCKSKEW", "鏃堕挓鍋忓樊","VIDEO"),
-    SIGNAL_LOSS("SIGNALMISS", "淇″彿缂哄け","VIDEO"),
-    SCREEN_COLOR_DEVIATION("SCREENCOLOR", "鐢婚潰鍋忚壊","VIDEO"),
-    SNOW_STORM("SCREENSNOW", "闆姳骞叉壈","VIDEO"),
-    STRIPE_INTERFERENCE("SCREENSTRIP", "鏉$汗骞叉壈","VIDEO"),
-    SCREEN_OCCLUSION("SCREENSHADE", "鐢婚潰閬尅","VIDEO"),
-    ABNORMAL_CLARITY("SCREENBLUR", "娓呮櫚搴﹀紓甯�","VIDEO"),
+    CLOCK_SKEW("CLOCKSKEW", "鏃堕挓鍋忓樊","VIDEO",true),
+    SIGNAL_LOSS("SIGNALMISS", "淇″彿缂哄け","VIDEO",true),
+    SCREEN_COLOR_DEVIATION("SCREENCOLOR", "鐢婚潰鍋忚壊","VIDEO",true),
+    SNOW_STORM("SCREENSNOW", "闆姳骞叉壈","VIDEO",true),
+    STRIPE_INTERFERENCE("SCREENSTRIP", "鏉$汗骞叉壈","VIDEO",true),
+    SCREEN_OCCLUSION("SCREENSHADE", "鐢婚潰閬尅","VIDEO",true),
+    ABNORMAL_CLARITY("SCREENBLUR", "娓呮櫚搴﹀紓甯�","VIDEO",true),
     //鏂板鐨勫浘鍍忓紓甯革紝鍚堝苟鍓嶉潰鎵�鏈夊紓甯哥被鍨�
-    ABNORMAL_PIC("ABNORMALPIC", "鍥惧儚寮傚父","VIDEO"),
+    ABNORMAL_PIC("ABNORMALPIC", "鍥惧儚寮傚父","VIDEO",false),
 //    ABNORMAL_BRIGHTNESS("SCREENLIGHT", "浜害寮傚父","VIDEO"),
-    OSD_ERROR("OSD", "osd寮傚父","VIDEO"),
+    OSD_ERROR("OSD", "osd寮傚父","VIDEO",false),
 //    VIDEO_LOSS("VIDEOMISS", "褰曞儚缂哄け","VIDEO"),
 //    VIDEO_NONE("NOVIDEO", "鏃犲綍鍍�","VIDEO"),
 //    POINT_INFO_MISS("POINTINFOMISS", "鐐逛綅淇℃伅涓嶅叏","COMMON"),
@@ -42,16 +42,16 @@
 
     // 闃堝��
     //杞﹁締浜鸿劯閫氱敤
-    CLOCK_RIGHT("CLOCK_RIGHT", "鏃堕挓鍑嗙‘鐜囧紓甯�","CARORFACE"),
-    LONG_DAY_NO_DATA("LONG_DAY_NO_DATA", "闀挎椂闂存棤鏁版嵁","CARORFACE"),
-    DATA_TIMELY_ERROR("DATA_TIMELY_ERROR", "鏁版嵁鍙婃椂鎬у紓甯�","CARORFACE"),
-    NOT_UNIQUE_DATA_VOLUME("NOT_UNIQUE_DATA_VOLUME", "涓嶅敮涓�鏁版嵁閲忓紓甯�","CARORFACE"),
-    UNRECOGNIZED_DAY_VOLUME("UNRECOGNIZED_DAY_VOLUME", "鐧藉ぉ鏈瘑鍒暟鎹噺寮傚父","CARORFACE"),
+    CLOCK_RIGHT("CLOCK_RIGHT", "鏃堕挓鍑嗙‘鐜囧紓甯�","CARORFACE",false),
+    LONG_DAY_NO_DATA("LONG_DAY_NO_DATA", "闀挎椂闂存棤鏁版嵁","CARORFACE",false),
+    DATA_TIMELY_ERROR("DATA_TIMELY_ERROR", "鏁版嵁鍙婃椂鎬у紓甯�","CARORFACE",false),
+    NOT_UNIQUE_DATA_VOLUME("NOT_UNIQUE_DATA_VOLUME", "涓嶅敮涓�鏁版嵁閲忓紓甯�","CARORFACE",false),
+    UNRECOGNIZED_DAY_VOLUME("UNRECOGNIZED_DAY_VOLUME", "鐧藉ぉ鏈瘑鍒暟鎹噺寮傚父","CARORFACE",false),
     //杞﹁締
-    CAR_SIX("CAR_SIX", "杞﹁締鍏」灞炴�т笉瀹屾暣","CAR"),
+    CAR_SIX("CAR_SIX", "杞﹁締鍏」灞炴�т笉瀹屾暣","CAR",false),
     //浜鸿劯
-    MODELING_FAIL("MODELING_FAIL", "寤烘ā澶辫触鐜囧紓甯�","FACE"),
-    FACE_LOW("FACE_LOW", "浜鸿劯浣庡垎鐜囧紓甯�","FACE"),
+    MODELING_FAIL("MODELING_FAIL", "寤烘ā澶辫触鐜囧紓甯�","FACE",false),
+    FACE_LOW("FACE_LOW", "浜鸿劯浣庡垎鐜囧紓甯�","FACE",false),
     ;
 
     private String value;
@@ -59,17 +59,21 @@
     private String desc;
 
     private String category;
+    //false琛ㄧず鍦ㄤ娇鐢紝true琛ㄧず鍙仛缈昏瘧涓嶅仛杩斿洖瀛楀吀
+    private Boolean deleted;
 
-    ErrorType(String value, String desc,String category) {
+    ErrorType(String value, String desc,String category,Boolean deleted) {
         this.value = value;
         this.desc = desc;
         this.category = category;
+        this.deleted = deleted;
+
     }
 
     // 鏍规嵁鍒嗙被鑾峰彇閿欒绫诲瀷鍒楄〃
     public static List<ErrorType> getErrorTypesByCategory(String category) {
         return Arrays.stream(values())
-                .filter(errorType -> errorType.getCategory() == category)
+                .filter(errorType -> errorType.getCategory() == category && !errorType.getDeleted())
                 .collect(Collectors.toList());
     }
 
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/DistributeWorkOrderQuery.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/DistributeWorkOrderQuery.java
index 222727f..80c1b08 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/DistributeWorkOrderQuery.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/DistributeWorkOrderQuery.java
@@ -31,6 +31,7 @@
      * 鏁呴殰绫诲瀷
      */
     private String errorType;
+    private List<String> errorTypeList;
 
     /**
      * 宸ュ崟id
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/WorkOrderExportQuery.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/WorkOrderExportQuery.java
index 1475c1d..d0a02df 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/WorkOrderExportQuery.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/WorkOrderExportQuery.java
@@ -39,6 +39,7 @@
      * 鏁呴殰绫诲瀷
      */
     private String errorType;
+    private List<String> errorTypeList;
 
     /**
      * 鐘舵��
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/WorkOrderQuery.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/WorkOrderQuery.java
index d1fa4cf..f1c0a34 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/WorkOrderQuery.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/WorkOrderQuery.java
@@ -43,6 +43,7 @@
      * 鏁呴殰绫诲瀷
      */
     private String errorType;
+    private List<String> errorTypeList;
     /**
      * 鏁呴殰绫诲瀷
      */
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
index 4e40269..8f380c1 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
@@ -348,15 +348,15 @@
         List<WorkOrderYwConditionRecord> willAddMsg = new ArrayList<>(48);
         // 鍗冲皢瑕佹坊鍔犵殑閿欒绫诲瀷
         List<WorkOrderErrorType> willAddErrorType = new ArrayList<>(96);
-        if(!CollectionUtils.isEmpty(inDatabaseWorkOrderList)){
+        if (!CollectionUtils.isEmpty(inDatabaseWorkOrderList)) {
             WorkOrder workOrderInDB = inDatabaseWorkOrderList.get(0);
             List<String> errorNameList = workOrderInDB.getErrorTypeList();
             List<String> errorTypes = entity.getErrorTypeList();
-            if(errorNameList.containsAll(errorTypes)){
+            if (errorNameList.containsAll(errorTypes)) {
                 return Result.error("宸叉湁鍚岀鏁呴殰绫诲瀷宸ュ崟");
-            }else {
+            } else {
                 for (String errorType : errorTypes) {
-                    if(!errorNameList.contains(errorType)){
+                    if (!errorNameList.contains(errorType)) {
                         // 閿欒绫诲瀷涓嶄竴鏍凤紝灏辨柊澧炰竴涓敊璇被鍨嬶紝骞朵笖閲嶇疆宸ュ崟鐘舵�佷负寰呭鐞�
                         WorkOrderErrorType workOrderErrorType = new WorkOrderErrorType();
                         workOrderErrorType.setWorkOrderNo(workOrderInDB.getWorkOrderNo());
@@ -394,7 +394,7 @@
                 }
             }
             return Result.ok("娣诲姞鎴愬姛");
-        }else {
+        } else {
             //鏁版嵁搴撴病鏈夋鍦ㄨ繘琛岀殑宸ュ崟
             //鏌edis浠婃棩宸ュ崟鏁伴噺
             int workOrderNum = 0;
@@ -421,7 +421,7 @@
             workOrderErrorTypeService.getBaseMapper().insertWorkOrderErrorTypeList(workOrderErrorTypes);
             if (baseMapper.insert(entity) > 0) {
                 return Result.ok("娣诲姞鎴愬姛");
-            }else {
+            } else {
                 return Result.error("娣诲姞澶辫触");
             }
         }
@@ -660,6 +660,20 @@
         }
         if (query.getStart() != null) query.setStart(DateUtils.getDayStart(query.getStart()));
         if (query.getEnd() != null) query.setEnd(DateUtils.getDayEnd(query.getEnd()));
+        if (query.getErrorType() != null) {
+            List<String> errorTypeList = new ArrayList<>();
+            errorTypeList.add(query.getErrorType());
+            if (ErrorType.ABNORMAL_PIC.getValue().equals(query.getErrorType())) {
+                //List娣诲姞涔嬪墠鍑犵宸ュ崟绫诲瀷
+                errorTypeList.add(ErrorType.SIGNAL_LOSS.getValue());
+                errorTypeList.add(ErrorType.SCREEN_COLOR_DEVIATION.getValue());
+                errorTypeList.add(ErrorType.SNOW_STORM.getValue());
+                errorTypeList.add(ErrorType.STRIPE_INTERFERENCE.getValue());
+                errorTypeList.add(ErrorType.SCREEN_OCCLUSION.getValue());
+                errorTypeList.add(ErrorType.ABNORMAL_CLARITY.getValue());
+            }
+            query.setErrorTypeList(errorTypeList);
+        }
         baseMapper.page(page, query);
         if (!CollectionUtils.isEmpty(page.getRecords())) {
             page.getRecords().stream().forEach(item -> {
@@ -1119,6 +1133,7 @@
     /**
      * 宸ュ崟瀵煎嚭鐨勯�昏緫
      * 鏍囩锛氬悓涓�涓猧p鏍囩鍚堝湪涓�璧凤紝閽堝绂荤嚎宸ュ崟锛坕p鐩稿悓灏变笉浼氱敓鎴愬伐鍗曪級锛屾柟渚胯繍缁村鐞�
+     *
      * @param query
      * @return
      */
@@ -1129,8 +1144,22 @@
         }
         if (query.getStart() != null) query.setStart(query.getStart() + " 00:00:00");
         if (query.getEnd() != null) query.setEnd(query.getEnd() + " 23:59:59");
+        if (query.getErrorType() != null) {
+            List<String> errorTypeList = new ArrayList<>();
+            errorTypeList.add(query.getErrorType());
+            if (ErrorType.ABNORMAL_PIC.getValue().equals(query.getErrorType())) {
+                //List娣诲姞涔嬪墠鍑犵宸ュ崟绫诲瀷
+                errorTypeList.add(ErrorType.SIGNAL_LOSS.getValue());
+                errorTypeList.add(ErrorType.SCREEN_COLOR_DEVIATION.getValue());
+                errorTypeList.add(ErrorType.SNOW_STORM.getValue());
+                errorTypeList.add(ErrorType.STRIPE_INTERFERENCE.getValue());
+                errorTypeList.add(ErrorType.SCREEN_OCCLUSION.getValue());
+                errorTypeList.add(ErrorType.ABNORMAL_CLARITY.getValue());
+            }
+            query.setErrorTypeList(errorTypeList);
+        }
         List<WorkOrderVO> export = baseMapper.export(query);
-        if(CollectionUtils.isEmpty(export)) return new ArrayList<WorkOrderVO>();
+        if (CollectionUtils.isEmpty(export)) return new ArrayList<WorkOrderVO>();
         List<String> ips = export.stream().map(WorkOrderVO::getIp).collect(Collectors.toList());
         //鏌ュ嚭鐩稿悓ip鐨勮澶囥�佸苟鏌ュ嚭鏍囩
         List<TMonitorResult> monitorVOS = monitorMapper.getByIp(ips);
@@ -1145,7 +1174,7 @@
                 tMonitorResult.setDynamicColumnList(map.get(pointId));
             }
         }
-        export.forEach(result->{
+        export.forEach(result -> {
             StringBuilder dynamicTag = new StringBuilder("");
             Boolean provinceTagVideo = false;
             Boolean provinceTagCar = false;
@@ -1156,13 +1185,13 @@
             List<String> dynamicTags = new ArrayList<>();
             for (TMonitorResult tagVO : monitorVOS) {
                 //鐪佸巺鏍囩閫氳繃ip鍒ゆ柇 (杩愮淮瑕佹眰)
-                if(tagVO.getIp().equals(result.getIp())){
-                    if(tagVO.getProvinceTagVideo()) provinceTagVideo = true;
-                    if(tagVO.getProvinceTagCar()) provinceTagCar = true;
-                    if(tagVO.getProvinceTagFace()) provinceTagFace = true;
-                    if(tagVO.getImportantTag()) importantTag = true;
-                    if(tagVO.getImportantCommandImageTag()) importantCommandImageTag = true;
-                    if(tagVO.getDeptTag()) deptTag = true;
+                if (tagVO.getIp().equals(result.getIp())) {
+                    if (tagVO.getProvinceTagVideo()) provinceTagVideo = true;
+                    if (tagVO.getProvinceTagCar()) provinceTagCar = true;
+                    if (tagVO.getProvinceTagFace()) provinceTagFace = true;
+                    if (tagVO.getImportantTag()) importantTag = true;
+                    if (tagVO.getImportantCommandImageTag()) importantCommandImageTag = true;
+                    if (tagVO.getDeptTag()) deptTag = true;
                 }
                 //鍔ㄦ�佸垪鏍规嵁鍥芥爣鍒ゆ柇
                 if (tagVO.getNo().equals(result.getSerialNumber())) {
@@ -1170,7 +1199,8 @@
                     if (!CollectionUtils.isEmpty(tagVO.getDynamicColumnList())) {
                         List<DynamicColumnVO> dynamicColumnList = tagVO.getDynamicColumnList();
                         for (DynamicColumnVO dynamicColumnVO : dynamicColumnList) {
-                            if(!dynamicTags.contains(dynamicColumnVO.getColumnValue())) dynamicTags.add(dynamicColumnVO.getColumnValue());
+                            if (!dynamicTags.contains(dynamicColumnVO.getColumnValue()))
+                                dynamicTags.add(dynamicColumnVO.getColumnValue());
                         }
                     }
                 }
@@ -1178,7 +1208,7 @@
             for (String tag : dynamicTags) {
                 dynamicTag.append(tag).append("銆�");
             }
-            StringBuilder tag = new StringBuilder("" + (provinceTagVideo ? "鐪佸巺瑙嗛銆�" : "")+(provinceTagCar ? "鐪佸巺杞﹁締銆�" : "")+(provinceTagFace ? "鐪佸巺浜鸿劯銆�" : "") + (importantTag ? "閲嶇偣鐐逛綅銆�" : "") + (importantCommandImageTag ? "閲嶇偣鎸囨尌鍥惧儚銆�" : "") + (deptTag ? "閮ㄧ骇銆�" : ""));
+            StringBuilder tag = new StringBuilder("" + (provinceTagVideo ? "鐪佸巺瑙嗛銆�" : "") + (provinceTagCar ? "鐪佸巺杞﹁締銆�" : "") + (provinceTagFace ? "鐪佸巺浜鸿劯銆�" : "") + (importantTag ? "閲嶇偣鐐逛綅銆�" : "") + (importantCommandImageTag ? "閲嶇偣鎸囨尌鍥惧儚銆�" : "") + (deptTag ? "閮ㄧ骇銆�" : ""));
             if (tag.toString().endsWith("銆�")) {
                 tag = new StringBuilder(tag.substring(0, tag.length() - 1));
             }
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java
index 76da7e9..56546b7 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/YwUnitServiceImpl.java
@@ -23,6 +23,7 @@
 import com.ycl.system.page.PageUtil;
 import com.ycl.utils.DateUtils;
 import com.ycl.utils.SecurityUtils;
+import enumeration.ErrorType;
 import lombok.RequiredArgsConstructor;
 import org.apache.ibatis.annotations.Param;
 import org.springframework.beans.BeanUtils;
@@ -222,6 +223,20 @@
         if(query.getEnd()!=null) {
             query.setEnd(DateUtils.getDayEnd(query.getEnd()));
         }
+        if (query.getErrorType() != null) {
+            List<String> errorTypeList = new ArrayList<>();
+            errorTypeList.add(query.getErrorType());
+            if (ErrorType.ABNORMAL_PIC.getValue().equals(query.getErrorType())) {
+                //List娣诲姞涔嬪墠鍑犵宸ュ崟绫诲瀷
+                errorTypeList.add(ErrorType.SIGNAL_LOSS.getValue());
+                errorTypeList.add(ErrorType.SCREEN_COLOR_DEVIATION.getValue());
+                errorTypeList.add(ErrorType.SNOW_STORM.getValue());
+                errorTypeList.add(ErrorType.STRIPE_INTERFERENCE.getValue());
+                errorTypeList.add(ErrorType.SCREEN_OCCLUSION.getValue());
+                errorTypeList.add(ErrorType.ABNORMAL_CLARITY.getValue());
+            }
+            query.setErrorTypeList(errorTypeList);
+        }
         List<YwUnit> ywUnits = baseMapper.selectList(null);
         List<YwUnitVO> lists = ywUnits.stream().map(item -> {
             YwUnitVO vo = new YwUnitVO();
diff --git a/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml
index 36a5c80..d0ecfcf 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/WorkOrderMapper.xml
@@ -68,12 +68,15 @@
         <if test="query.unitId != null">
             AND wo.unit_id = #{query.unitId}
         </if>
-        <if test="query.errorType != null and query.errorType != ''">
+        <if test="query.errorTypeList != null and query.errorTypeList.size>0">
             AND (EXISTS (
             SELECT 1
             FROM t_work_order_error_type twoet
             WHERE twoet.work_order_no = wo.work_order_no
-            AND twoet.error_name = #{query.errorType}
+            AND twoet.error_name in
+            <foreach collection="query.errorTypeList" open="(" close=")" separator="," item="errorType">
+                        #{errorType}
+            </foreach>
             ))
         </if>
         <if test="query.keyword != null and query.keyword != ''">
@@ -142,12 +145,15 @@
         <if test="query.start != null and query.end != null">
             AND wo.create_time BETWEEN #{query.start} AND #{query.end}
         </if>
-        <if test="query.errorType != null and query.errorType !='' ">
+        <if test="query.errorTypeList != null and query.errorTypeList.size>0">
             AND (EXISTS (
             SELECT 1
             FROM t_work_order_error_type twoet
             WHERE twoet.work_order_no = wo.work_order_no
-            AND twoet.error_name = #{query.errorType}
+            AND twoet.error_name in
+            <foreach collection="query.errorTypeList" open="(" close=")" separator="," item="errorType">
+                #{errorType}
+            </foreach>
             ))
         </if>
         GROUP BY
diff --git a/ycl-server/src/main/resources/mapper/zgyw/YwUnitMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/YwUnitMapper.xml
index 6f84271..23545c9 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/YwUnitMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/YwUnitMapper.xml
@@ -57,12 +57,15 @@
         <if test="query.start != null and query.end != null">
             AND wo.create_time BETWEEN #{query.start} AND #{query.end}
         </if>
-        <if test="query.errorType != null and query.errorType !='' ">
+        <if test="query.errorTypeList != null and query.errorTypeList.size>0">
             AND (EXISTS (
             SELECT 1
             FROM t_work_order_error_type twoet
             WHERE twoet.work_order_no = wo.work_order_no
-            AND twoet.error_name = #{query.errorType}
+            AND twoet.error_name in
+            <foreach collection="query.errorTypeList" open="(" close=")" separator="," item="errorType">
+                #{errorType}
+            </foreach>
             ))
         </if>
     </select>

--
Gitblit v1.8.0