From 6451d61e4438c93d78b5fb187afd7bc538f2af44 Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期三, 08 一月 2025 17:42:40 +0800
Subject: [PATCH] OSD导出

---
 ycl-pojo/src/main/java/com/ycl/platform/domain/result/UY/OsdCheckResult.java      |   17 ++++++++
 ycl-pojo/src/main/java/com/ycl/platform/domain/query/DataCenterQuery.java         |    2 +
 ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java |   53 ++++++++++++++++++++++++++
 ycl-server/src/main/java/com/ycl/platform/controller/DataCenterController.java    |   13 ++++++
 ycl-server/src/main/java/com/ycl/platform/service/DataCenterService.java          |    2 +
 5 files changed, 86 insertions(+), 1 deletions(-)

diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/DataCenterQuery.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/DataCenterQuery.java
index 11fd6a2..4a241b7 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/query/DataCenterQuery.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/query/DataCenterQuery.java
@@ -3,6 +3,7 @@
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ycl.platform.base.AbsQuery;
 import lombok.Data;
+import org.springframework.format.annotation.DateTimeFormat;
 import utils.DateUtils;
 
 import java.util.Date;
@@ -18,6 +19,7 @@
 @Data
 public class DataCenterQuery extends AbsQuery {
     @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
+    @DateTimeFormat(pattern = "yyyy-MM-dd")
     private Date date;
 
     /** 寮�濮嬫椂闂� */
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/result/UY/OsdCheckResult.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/result/UY/OsdCheckResult.java
index 1c04824..e609fb0 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/result/UY/OsdCheckResult.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/result/UY/OsdCheckResult.java
@@ -1,5 +1,6 @@
 package com.ycl.platform.domain.result.UY;
 
+import annotation.Excel;
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ycl.platform.domain.result.BaseResult;
 import constant.ApiConstants;
@@ -23,6 +24,7 @@
     /**
      * 鍥芥爣鐮�
      */
+    @Excel(name = "璁惧缂栫爜",sort = 1)
     private String deviceNo;
 
     /**
@@ -33,6 +35,7 @@
     /**
      *  鎽勫儚鏈哄搧鐗�0/1/2 娴峰悍/澶у崕/瀹囪
      */
+    @Excel(name = "璁惧鍝佺墝",sort = 2)
     private String deviceBrandStr;
     /**
      * 璁惧绫诲瀷
@@ -42,48 +45,57 @@
     /**
      * ip
      */
+    @Excel(name = "IP",sort = 3)
     private String ip;
 
     /**
      * 妫�娴嬫椂闂�
      */
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "妫�娴嬫椂闂�",dateFormat = "yyyy-MM-dd HH:mm:ss",sort = 10)
     private Date checkTime;
 
     /**
      * 鏍囨敞鏃堕棿
      */
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @Excel(name = "OSD鏍囨敞鏃堕棿",dateFormat = "yyyy-MM-dd HH:mm:ss",sort = 9)
     private Date setTime;
 
 
     /**
      * osd閫氶亾鍚�
      */
+    @Excel(name = "閫氶亾鍚嶇О",sort = 4)
     private String osdName;
     /**
      * osd鐪�
      */
+    @Excel(name = "OSD鐪�",sort = 5)
     private String osdProvince;
 
     /**
      * osd甯�
      */
+    @Excel(name = "OSD甯�",sort = 6)
     private String osdCity;
 
     /**
      * osd鍖�
      */
+    @Excel(name = "OSD鍖�",sort = 7)
     private String osdPart;
 
     /**
      * osd宸︿笅瑙�
      */
+    @Excel(name = "OSD宸︿笅瑙�",sort = 8)
     private String osdLB;
 
     /**
      * osdTimeCorrect鏃堕棿鏄惁姝g‘
      */
+    @Excel(name = "鏃堕棿鏄惁姝g‘",sort = 16, readConverterExp = "0=鏈煡,1=姝g‘,-1=閿欒")
     private Integer osdTimeCorrect;
 
     /**
@@ -94,6 +106,7 @@
     /**
      * osd閫氶亾鍚嶆槸鍚︽纭�   1姝g‘  0鏈煡  -1閿�
      */
+    @Excel(name = "閫氶亾鍚嶆槸鍚︽纭�",sort = 11, readConverterExp = "0=鏈煡,1=姝g‘,-1=閿欒")
     private Integer osdNameCorrect;
 
     /**
@@ -104,6 +117,7 @@
     /**
      * osd鐪佹槸鍚︽纭�
      */
+    @Excel(name = "OSD鐪佹槸鍚︽纭�",sort = 12, readConverterExp = "0=鏈煡,1=姝g‘,-1=閿欒")
     private Integer osdProvinceCorrect;
 
     /**
@@ -114,6 +128,7 @@
     /**
      * osd甯傛槸鍚︽纭�
      */
+    @Excel(name = "OSD甯傛槸鍚︽纭�",sort = 13, readConverterExp = "0=鏈煡,1=姝g‘,-1=閿欒")
     private Integer osdCityCorrect;
 
     /**
@@ -124,6 +139,7 @@
     /**
      * osd鍖烘槸鍚︽纭�
      */
+    @Excel(name = "OSD鍖烘槸鍚︽纭�",sort = 14, readConverterExp = "0=鏈煡,1=姝g‘,-1=閿欒")
     private Integer osdPartCorrect;
 
     /**
@@ -133,6 +149,7 @@
     /**
      * osd宸︿笅瑙掓槸鍚︽纭�
      */
+    @Excel(name = "OSD宸︿笅鏄惁姝g‘",sort = 15, readConverterExp = "0=鏈煡,1=姝g‘,-1=閿欒")
     private Integer osdLbCorrect;
 
 
diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/DataCenterController.java b/ycl-server/src/main/java/com/ycl/platform/controller/DataCenterController.java
index b151c5f..fd10c35 100644
--- a/ycl-server/src/main/java/com/ycl/platform/controller/DataCenterController.java
+++ b/ycl-server/src/main/java/com/ycl/platform/controller/DataCenterController.java
@@ -6,6 +6,7 @@
 import com.ycl.platform.service.PlatformOnlineService;
 import com.ycl.system.Result;
 import io.swagger.annotations.ApiOperation;
+import jakarta.servlet.http.HttpServletResponse;
 import lombok.RequiredArgsConstructor;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
@@ -160,7 +161,17 @@
         query.setTime();
         return dataCenterService.videoImportantPointLabelingAccuracy(query);
     }
-
+    /**
+     * 瑙嗛锛氬鍑洪噸鐐圭偣浣嶆爣娉ㄦ纭巼
+     *
+     * @param query
+     * @return
+     */
+    @PostMapping("/videoImportantPointLabelingAccuracy/export")
+    public void videoImportantPointLabelingAccuracyExport(HttpServletResponse response,DataCenterQuery query) {
+        query.setTime();
+        dataCenterService.videoImportantPointLabelingAccuracyExport(response,query);
+    }
     /**
      * 瑙嗛锛氭牎鏃舵纭巼 锛堟柊瑙勫垯宸茬粡寮冪敤锛�
      *
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/DataCenterService.java b/ycl-server/src/main/java/com/ycl/platform/service/DataCenterService.java
index 8db5653..bad47b9 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/DataCenterService.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/DataCenterService.java
@@ -6,6 +6,7 @@
 import com.ycl.platform.domain.result.UY.OneMachineFileResult;
 import com.ycl.platform.domain.result.UY.RecordMetaDSumResult;
 import com.ycl.system.Result;
+import jakarta.servlet.http.HttpServletResponse;
 
 import java.util.List;
 
@@ -97,6 +98,7 @@
      * @return
      */
     Result videoImportantPointLabelingAccuracy(DataCenterQuery query);
+    void videoImportantPointLabelingAccuracyExport(HttpServletResponse response,DataCenterQuery query);
 
     /**
      * 瑙嗛锛氭牎鏃舵纭巼
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java
index 512db9f..0c418f5 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java
@@ -9,6 +9,7 @@
 import com.mongodb.client.MongoCollection;
 import com.mongodb.client.MongoDatabase;
 import com.ycl.platform.domain.entity.*;
+import com.ycl.platform.domain.excel.TMonitorExp;
 import com.ycl.platform.domain.query.DataCenterQuery;
 import com.ycl.platform.domain.result.HK.*;
 import com.ycl.platform.domain.result.SYS.TMonitorResult;
@@ -26,9 +27,11 @@
 import com.ycl.utils.DateUtils;
 import com.ycl.utils.MongoUtil;
 import com.ycl.utils.bean.BeanUtils;
+import com.ycl.utils.poi.ExcelUtil;
 import constant.ApiConstants;
 import constant.CheckConstants;
 import enumeration.general.AreaDeptEnum;
+import jakarta.servlet.http.HttpServletResponse;
 import lombok.RequiredArgsConstructor;
 import org.apache.commons.collections.CollectionUtils;
 import org.bson.Document;
@@ -1148,6 +1151,56 @@
         return Result.ok().data(map).total(total);
     }
 
+    @Override
+    public void videoImportantPointLabelingAccuracyExport(HttpServletResponse response, DataCenterQuery params) {
+        List<String> likeFileds = Arrays.asList("deviceNo", "osdName");
+        List<Criteria> andCriteria = MongoUtil.getAndCriteria(params, "checkTime", likeFileds, null);
+        Query query = new Query();
+        Criteria and = new Criteria();
+        and.andOperator(andCriteria);
+        query = Query.query(and);
+        //涓嬫媺妗嗘爣娉ㄦ纭煡璇㈡潯浠�
+        if (params.getOption() != null) {
+            if(params.getOption()==1) {
+                andCriteria.add(Criteria.where("osdNameCorrect").is(1));
+                andCriteria.add(Criteria.where("osdTimeCorrect").is(1));
+                andCriteria.add(Criteria.where("osdProvinceCorrect").is(1));
+                andCriteria.add(Criteria.where("osdCityCorrect").is(1));
+                andCriteria.add(Criteria.where("osdPartCorrect").is(1));
+                Criteria and2 = new Criteria();
+                and2.andOperator(andCriteria);
+                query = Query.query(and2);
+            }else if(params.getOption()==-1){
+                // 浣跨敤$or鏉′欢杩炴帴澶氫釜瀛楁妫�鏌ワ紝姣忎釜瀛楁妫�鏌ユ槸鍚︾瓑浜�-1
+                Criteria c1 = Criteria.where("osdNameCorrect").is(-1);
+                Criteria c2 = Criteria.where("osdTimeCorrect").is(-1);
+                Criteria c3 = Criteria.where("osdProvinceCorrect").is(-1);
+                Criteria c4 = Criteria.where("osdCityCorrect").is(-1);
+                Criteria c5 = Criteria.where("osdPartCorrect").is(-1);
+                Criteria orOperator = new Criteria().orOperator(c1, c2, c3, c4, c5);
+                orOperator.andOperator(andCriteria);
+                query = Query.query(orOperator);
+            }else {
+                Criteria c1 = Criteria.where("osdNameCorrect").is(0);
+                Criteria c2 = Criteria.where("osdTimeCorrect").is(0);
+                Criteria c3 = Criteria.where("osdProvinceCorrect").is(0);
+                Criteria c4 = Criteria.where("osdCityCorrect").is(0);
+                Criteria c5 = Criteria.where("osdPartCorrect").is(0);
+                Criteria orOperator = new Criteria().orOperator(c1, c2, c3, c4, c5);
+                orOperator.andOperator(andCriteria);
+                query = Query.query(orOperator);
+            }
+        }
+        List<OsdCheckResult> resultList = mongoTemplate.find(query, OsdCheckResult.class);
+        for (OsdCheckResult osdCheckResult : resultList) {
+            OsdCheckResult.getError(osdCheckResult);
+        }
+        ExcelUtil<OsdCheckResult> util = new ExcelUtil<>(OsdCheckResult.class);
+        String sheetName = "OSD鏍囨敞";
+
+        util.exportExcel(response, resultList, sheetName);
+    }
+
     /**
      * 瑙嗛锛氭牎鏃舵纭巼
      *

--
Gitblit v1.8.0