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