From 9c2dab107551b64b3fe16e1c7c178a4c15cacb5b Mon Sep 17 00:00:00 2001 From: 龚焕茏 <2842157468@qq.com> Date: 星期二, 30 七月 2024 15:37:55 +0800 Subject: [PATCH] feat:核算报告导出 --- ycl-server/src/main/java/com/ycl/task/HKTask.java | 101 ++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 73 insertions(+), 28 deletions(-) diff --git a/ycl-server/src/main/java/com/ycl/task/HKTask.java b/ycl-server/src/main/java/com/ycl/task/HKTask.java index 5424408..4b29fab 100644 --- a/ycl-server/src/main/java/com/ycl/task/HKTask.java +++ b/ycl-server/src/main/java/com/ycl/task/HKTask.java @@ -1,24 +1,26 @@ package com.ycl.task; import com.alibaba.fastjson2.JSONObject; -import com.ycl.platform.domain.param.HK.FaceDeviceInspectionParam; -import com.ycl.platform.domain.param.HK.SnapshotDataMonitorParam; -import com.ycl.platform.domain.param.HK.VehicleDeviceInspectionParam; -import com.ycl.platform.domain.result.HK.BaseResult; -import com.ycl.platform.domain.result.HK.FaceDeviceInspectionResult; -import com.ycl.platform.domain.result.HK.SnapshotDataMonitorResult; -import com.ycl.platform.domain.result.HK.VehicleDeviceInspectionResult; +import com.mongodb.client.result.DeleteResult; +import com.ycl.calculate.CalculationStrategy; +import com.ycl.factory.IndexCalculationFactory; +import com.ycl.platform.domain.param.HK.*; +import com.ycl.platform.domain.result.HK.*; import com.ycl.platform.service.ICheckIndexCarService; import com.ycl.platform.service.ICheckIndexFaceService; import com.ycl.platform.service.ICheckIndexVideoService; import com.ycl.platform.service.IYwThresholdService; +import com.ycl.utils.DateUtils; import constant.ApiConstants; import com.ycl.feign.HKClient; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.mongodb.core.MongoTemplate; +import org.springframework.data.mongodb.core.query.Criteria; +import org.springframework.data.mongodb.core.query.Query; import org.springframework.stereotype.Component; import org.springframework.util.CollectionUtils; +import org.springframework.util.unit.DataUnit; import java.text.SimpleDateFormat; import java.util.Date; @@ -46,10 +48,13 @@ public void VehicleDeviceInspectionTask() { log.info("寮�濮嬫墽琛岃溅杈嗚澶囧叏妫�鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾"); VehicleDeviceInspectionParam param = new VehicleDeviceInspectionParam(); - param.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(getToday()); + param.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(DateUtils.getDate()); JSONObject jsonObject = hkClient.VehicleDeviceInspection(param); List<VehicleDeviceInspectionResult> list = getDataList(jsonObject, VehicleDeviceInspectionResult.class, "杞﹁締璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉鏁版嵁涓虹┖"); if (!CollectionUtils.isEmpty(list)) { + //濡傛灉瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎 + Query query = new Query(Criteria.where("createTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); + DeleteResult result = mongoTemplate.remove(query, VehicleDeviceInspectionResult.class); //瀛樻斁鍦╩ongo涓� mongoTemplate.insert(list); //鍚屾鐨勬暟鎹繘琛屽伐鍗曢槇鍊煎鐞� @@ -62,13 +67,17 @@ public void FaceDeviceInspectionTask() { log.info("寮�濮嬫墽琛屼汉鑴歌澶囧叏妫�鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾"); FaceDeviceInspectionParam param = new FaceDeviceInspectionParam(); - param.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(getToday()); + param.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(DateUtils.getDate()); JSONObject jsonObject = hkClient.FaceDeviceInspection(param); List<FaceDeviceInspectionResult> list = getDataList(jsonObject, FaceDeviceInspectionResult.class, "浜鸿劯璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉鏁版嵁涓虹┖"); if (!CollectionUtils.isEmpty(list)) { + //濡傛灉瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎 + Query query = new Query(Criteria.where("createTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); + DeleteResult result = mongoTemplate.remove(query, FaceDeviceInspectionResult.class); //瀛樻斁鍦╩ongo涓� mongoTemplate.insert(list); //鍚屾鐨勬暟鎹繘琛屽伐鍗曢槇鍊煎鐞� + //TODO:鍙兘鏈夐噸澶嶅伐鍗� ywThresholdService.faceCheck(list); } log.info("缁撴潫浜鸿劯璁惧鍏ㄦ鎸囨爣鐩戞祴缁撴灉鏁版嵁鍚屾"); @@ -80,28 +89,36 @@ log.info("寮�濮嬫墽琛屾姄鎷嶆暟鎹噺妫�娴嬬粨鏋滄暟鎹悓姝�"); /** 杞﹁締鏁版嵁 */ SnapshotDataMonitorParam carParam = new SnapshotDataMonitorParam(); - carParam.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(getToday()).setDataType(ApiConstants.HK_DATATYPE_CAR); + carParam.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(DateUtils.getDate()).setDataType(ApiConstants.HK_DATATYPE_CAR); JSONObject carJsonObject = hkClient.SnapshotDataMonitor(carParam); List<SnapshotDataMonitorResult> carList = getDataList(carJsonObject, SnapshotDataMonitorResult.class, "杞﹁締鎶撴媿鏁版嵁閲忔娴嬬粨鏋滄暟鎹�"); if (!CollectionUtils.isEmpty(carList)) { + //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎 + Query query = new Query(Criteria + .where("createTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())) + .and("dataType").is(ApiConstants.HK_DATATYPE_CAR)); + DeleteResult result = mongoTemplate.remove(query, SnapshotDataMonitorResult.class); //瀛樻斁鍦╩ongo涓� + carList.forEach(item->item.setDataType(ApiConstants.HK_DATATYPE_CAR)); mongoTemplate.insert(carList); - //TODO:杞﹁締鐐逛綅鍦ㄧ嚎鐜� - checkIndexCarService.siteOnline(carList); } /** 浜鸿劯鏁版嵁 */ SnapshotDataMonitorParam faceParam = new SnapshotDataMonitorParam(); - faceParam.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(getToday()).setDataType(ApiConstants.HK_DATATYPE_FACE); + faceParam.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(DateUtils.getDate()).setDataType(ApiConstants.HK_DATATYPE_FACE); JSONObject faceJsonObject = hkClient.SnapshotDataMonitor(carParam); - List list = getDataList(faceJsonObject, SnapshotDataMonitorResult.class, "浜鸿劯鎶撴媿鏁版嵁閲忔娴嬬粨鏋滄暟鎹负绌�"); - if (!CollectionUtils.isEmpty(list)) { + List<SnapshotDataMonitorResult> faceList = getDataList(faceJsonObject, SnapshotDataMonitorResult.class, "浜鸿劯鎶撴媿鏁版嵁閲忔娴嬬粨鏋滄暟鎹负绌�"); + if (!CollectionUtils.isEmpty(faceList)) { + //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎 + Query query = new Query(Criteria + .where("createTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())) + .and("dataType").is(ApiConstants.HK_DATATYPE_FACE)); + DeleteResult result = mongoTemplate.remove(query, SnapshotDataMonitorResult.class); //瀛樻斁鍦╩ongo涓� - mongoTemplate.insert(list); - //TODO:浜鸿劯鐐逛綅鍦ㄧ嚎鐜� - checkIndexFaceService.siteOnline(list); + carList.forEach(item->item.setDataType(ApiConstants.HK_DATATYPE_FACE)); + mongoTemplate.insert(faceList); } - + //TODO:宸ュ崟 log.info("缁撴潫鎶撴媿鏁版嵁閲忔娴嬬粨鏋滄暟鎹悓姝�"); } @@ -109,11 +126,47 @@ //涓�鏈轰竴妗� public void task2() { //鑱旂綉鍗″彛璁惧鐩綍涓�鑷寸巼 + + } + + //閲囬泦璁惧灞炴�х洃娴嬬粨鏋�(浜鸿劯) + public void monitorDetailTask() { + log.info("寮�濮嬫墽琛岄噰闆嗚澶囧睘鎬х洃娴嬬粨鏋滄暟鎹悓姝�"); + //閲囬泦璁惧灞炴�х洃娴嬬粨鏋� + MonitoringDetailParam param = new MonitoringDetailParam(); + param.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(DateUtils.getDate()); + JSONObject jsonObject = hkClient.monitorDetail(param); + List<MonitoringDetailResult> faceList = getDataList(jsonObject, MonitoringDetailResult.class, "閲囬泦璁惧灞炴�х洃娴嬬粨鏋滄暟鎹负绌�"); + if (!CollectionUtils.isEmpty(faceList)) { + //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎 + Query query = new Query(Criteria + .where("createTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); + DeleteResult result = mongoTemplate.remove(query, SnapshotDataMonitorResult.class); + //瀛樻斁鍦╩ongo涓� + mongoTemplate.insert(faceList); + } + //TODO:宸ュ崟澶勭悊 + log.info("缁撴潫閲囬泦璁惧灞炴�х洃娴嬬粨鏋滄暟鎹悓姝�"); } //鍗″彛灞炴�х洃娴嬬粨鏋� - public void task3() { + public void crossDetailTask() { + log.info("寮�濮嬫墽琛屽崱鍙e睘鎬х洃娴嬬粨鏋滄暟鎹悓姝�"); //杞﹁締鍗″彛淇℃伅閲囬泦鍑嗙‘鐜� + CrossDetailParam param = new CrossDetailParam(); + param.setPageNO(ApiConstants.pageNo).setPageSize(ApiConstants.pageSize).setDate(DateUtils.getDate()); + JSONObject jsonObject = hkClient.crossDetail(param); + List<CrossDetailResult> faceList = getDataList(jsonObject, CrossDetailResult.class, "鍗″彛灞炴�х洃娴嬬粨鏋滄暟鎹负绌�"); + if (!CollectionUtils.isEmpty(faceList)) { + //濡傛灉浠婂ぉ瀛樺湪涔嬪墠鐨勬暟鎹厛鍒犻櫎 + Query query = new Query(Criteria + .where("createTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date()))); + DeleteResult result = mongoTemplate.remove(query, SnapshotDataMonitorResult.class); + //瀛樻斁鍦╩ongo涓� + mongoTemplate.insert(faceList); + } + //TODO:宸ュ崟澶勭悊 + log.info("缁撴潫鍗″彛灞炴�х洃娴嬬粨鏋滄暟鎹悓姝�"); } //鏁版嵁瀹屾暣鎬х洃娴嬬粨鏋� @@ -141,14 +194,6 @@ //杞﹁締鍗″彛淇℃伅閲囬泦鍑嗙‘鐜� //杞﹁締鍗″彛璁惧url鍙敤鎬� - } - - //鑾峰彇褰撳墠鏃ユ湡 - private String getToday() { - Date date = new Date(); - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); - String today = sdf.format(date); - return today; } //瑙f瀽鏁版嵁 -- Gitblit v1.8.0