From edc7172b312e0aec94362b651e2f7145e0c357fe Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期四, 16 一月 2025 17:04:10 +0800
Subject: [PATCH] 核算导出调整+osd测试脚本
---
ycl-pojo/src/main/java/com/ycl/platform/domain/excel/CalculateExport.java | 6 +++
ycl-server/src/main/java/com/ycl/platform/controller/CalculateReportController.java | 4 +-
ycl-server/src/main/java/com/ycl/api/DH/module/LoginModule.java | 2 +
ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateReportServiceImpl.java | 4 +-
ycl-server/src/main/java/com/ycl/task/OsdTask.java | 32 ++++++++++++----
ycl-server/src/main/resources/mapper/zgyw/CalculateReportMapper.xml | 27 ++++++++++---
ycl-server/src/main/java/com/ycl/platform/mapper/CalculateReportMapper.java | 2
ycl-server/src/main/java/com/ycl/platform/service/CalculateReportService.java | 2
8 files changed, 58 insertions(+), 21 deletions(-)
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/excel/CalculateExport.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/excel/CalculateExport.java
index 1239d93..a1bd3df 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/excel/CalculateExport.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/excel/CalculateExport.java
@@ -29,6 +29,12 @@
@ExcelProperty({"鑷础甯傚叕鍏辫棰戠洃鎺х郴缁熺画缁村悎鍚�", "瑙勫垯鍚嶇О"})
@ColumnWidth(130)
private String ruleName;
+ /**
+ * 缁嗗垯
+ */
+ @ExcelProperty({"鑷础甯傚叕鍏辫棰戠洃鎺х郴缁熺画缁村悎鍚�", "缁嗗垯"})
+ @ColumnWidth(130)
+ private String detailName;
/**
* 鏁伴噺
diff --git a/ycl-server/src/main/java/com/ycl/api/DH/module/LoginModule.java b/ycl-server/src/main/java/com/ycl/api/DH/module/LoginModule.java
index 63f9881..5d3b406 100644
--- a/ycl-server/src/main/java/com/ycl/api/DH/module/LoginModule.java
+++ b/ycl-server/src/main/java/com/ycl/api/DH/module/LoginModule.java
@@ -160,6 +160,7 @@
// log.error("CLIENT_QueryDeviceTime Failed!" + ToolKits.getErrorCodePrint());
return null;
}
+ log.info("OSD鏃堕棿鍘熷鏁版嵁鏍煎紡,{},toString鏍煎紡{}",deviceTime,deviceTime.toStringTime());
Date checkTime = new Date();
osdResult.setCheckTime(checkTime);
String date = deviceTime.toStringTime();
@@ -195,6 +196,7 @@
osdInfo.read();
NET_GBMODE_CUSTOMTITLE_INFO[] stuCustomTitle = osdInfo.stuCustomTitle;
for (NET_GBMODE_CUSTOMTITLE_INFO title : stuCustomTitle) {
+ log.info("OSD鍘熷鏁版嵁鏍煎紡{}",title);
String position = new String(title.szPositon, StandardCharsets.UTF_8).trim();
if("LeftDown".equals(position)) {
NET_TITLE_OSD_INFO[] stuOSD = title.stuOSD;
diff --git a/ycl-server/src/main/java/com/ycl/platform/controller/CalculateReportController.java b/ycl-server/src/main/java/com/ycl/platform/controller/CalculateReportController.java
index 74a671a..7fe05da 100644
--- a/ycl-server/src/main/java/com/ycl/platform/controller/CalculateReportController.java
+++ b/ycl-server/src/main/java/com/ycl/platform/controller/CalculateReportController.java
@@ -69,8 +69,8 @@
@PostMapping("/export")
@ApiOperation(value = "瀵煎嚭", notes = "瀵煎嚭")
@PreAuthorize("@ss.hasPermi('system:calculate:report:export')")
- public void export(Integer calculateId,Integer contractId, HttpServletResponse response) {
- calculateReportService.export(calculateId,contractId, response);
+ public void export(Integer whichYear,Integer whichMonth,Integer contractId, HttpServletResponse response) {
+ calculateReportService.export(whichYear,whichMonth,contractId, response);
}
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/CalculateReportMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/CalculateReportMapper.java
index 5f1d47d..4536b7d 100644
--- a/ycl-server/src/main/java/com/ycl/platform/mapper/CalculateReportMapper.java
+++ b/ycl-server/src/main/java/com/ycl/platform/mapper/CalculateReportMapper.java
@@ -42,5 +42,5 @@
* 瀵煎嚭鏁版嵁
* @return 鏁版嵁
*/
- List<CalculateExport> exportData(Integer calculateId);
+ List<CalculateExport> exportData(Integer whichYear,Integer whichMonth,Integer contractId);
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/CalculateReportService.java b/ycl-server/src/main/java/com/ycl/platform/service/CalculateReportService.java
index 5dc44c8..b0a3bc0 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/CalculateReportService.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/CalculateReportService.java
@@ -92,5 +92,5 @@
* 瀵煎嚭
* @param response 鍝嶅簲
*/
- void export(Integer calculateId,Integer contractId, HttpServletResponse response);
+ void export(Integer whichYear,Integer whichMonth,Integer contractId, HttpServletResponse response);
}
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateReportServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateReportServiceImpl.java
index 5921403..9787572 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateReportServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/CalculateReportServiceImpl.java
@@ -225,9 +225,9 @@
@Override
@SneakyThrows
- public void export(Integer calculateId,Integer contractId, HttpServletResponse response) {
+ public void export(Integer whichYear,Integer whichMonth,Integer contractId, HttpServletResponse response) {
// 鑾峰彇鏁版嵁
- List<CalculateExport> list = baseMapper.exportData(calculateId);
+ List<CalculateExport> list = baseMapper.exportData(whichYear,whichMonth,contractId);
CalculateExport calculateExport = new CalculateExport();
calculateExport.setRuleName("鍚堣");
calculateExport.setNum(list.stream().mapToInt(CalculateExport::getNum).sum());
diff --git a/ycl-server/src/main/java/com/ycl/task/OsdTask.java b/ycl-server/src/main/java/com/ycl/task/OsdTask.java
index 1e75898..83c71f5 100644
--- a/ycl-server/src/main/java/com/ycl/task/OsdTask.java
+++ b/ycl-server/src/main/java/com/ycl/task/OsdTask.java
@@ -2,6 +2,11 @@
import com.mongodb.client.result.DeleteResult;
+import com.ycl.api.DH.lib.NetSDKLib;
+import com.ycl.api.DH.lib.structure.NET_CFG_GBMODE_INFO;
+import com.ycl.api.DH.lib.structure.NET_GBMODE_CUSTOMTITLE_INFO;
+import com.ycl.api.DH.lib.structure.NET_TITLE_OSD_INFO;
+import com.ycl.api.DH.module.LoginModule;
import com.ycl.api.DH.utils.DHApi;
import com.ycl.api.HK.HKApi;
import com.ycl.api.YS.YSApi;
@@ -29,6 +34,9 @@
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
+import java.nio.charset.StandardCharsets;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@@ -36,6 +44,8 @@
import java.util.concurrent.*;
import java.util.function.Function;
import java.util.stream.Collectors;
+
+import static com.ycl.api.DH.lib.enumeration.NET_EM_CFG_OPERATE_TYPE.NET_EM_CFG_GBMODE;
@Slf4j
@Component("OsdTask")
@@ -60,6 +70,7 @@
public String YSUserName;
@Value("${YS.password}")
public String YSPassword;
+
/**
* 閫氳繃鏌ongoDB姣忔棩涓�鏈轰竴妗f暟鎹幏鍙栬澶噄p
* 绛涢�夎棰戣澶�
@@ -86,7 +97,7 @@
List<MonitorQualifyResult> oneMachineFileResults = mongoTemplate.find(query, MonitorQualifyResult.class);
//闇�瑕佽�冩牳鐨勬暟鎹�
List<String> serialNumbers = oneMachineFileResults.stream().map(result -> result.getSerialNumber().getValue()).collect(Collectors.toList());
- if(!CollectionUtils.isEmpty(serialNumbers)) {
+ if (!CollectionUtils.isEmpty(serialNumbers)) {
ExecutorService executorService = new ThreadPoolExecutor(16,
128,
5000,
@@ -116,7 +127,7 @@
List<OsdCheckResult> checkResults = new ArrayList<>();
Map<String, TMonitor> monitorMap = monitors.stream().collect(Collectors.toMap(TMonitor::getSerialNumber, Function.identity()));
for (OSDResult osdResult : osdResultList) {
- if(osdResult!=null) {
+ if (osdResult != null) {
TMonitor monitor = monitorMap.get(osdResult.getSerialNumber());
//灏佽OsdCheckResult
OsdCheckResult osdCheckResult = getOsdCheckResult(osdResult, monitor);
@@ -132,7 +143,7 @@
Query pyQuery = new Query(Criteria
.where("mongoCreateTime").gte(DateUtils.getDayStart(new Date())).lt(DateUtils.getDayEnd(new Date())));
DeleteResult result = mongoTemplate.remove(pyQuery, OsdCheckResult.class);
- pointService.setDeviceTagByGB(checkResults,CheckConstants.Rule_Category_Video);
+ pointService.setDeviceTagByGB(checkResults, CheckConstants.Rule_Category_Video);
//瀛樻斁鍦╩ongo涓�
mongoTemplate.insertAll(checkResults);
// 宸ュ崟鐢熸垚
@@ -170,7 +181,7 @@
} else {
osdCheckResult.setOsdTimeCorrect(ApiConstants.OSD_Error);
}
- }else {
+ } else {
osdCheckResult.setOsdTimeCorrect(ApiConstants.OSD_Unknown);
}
//妫�鏌ラ�氶亾鍚嶆槸鍚︽纭�
@@ -181,7 +192,7 @@
} else {
osdCheckResult.setOsdNameCorrect(ApiConstants.OSD_Error);
}
- }else {
+ } else {
osdCheckResult.setOsdNameCorrect(ApiConstants.OSD_Unknown);
}
//妫�鏌ョ渷鏄惁姝g‘
@@ -191,7 +202,7 @@
} else {
osdCheckResult.setOsdProvinceCorrect(ApiConstants.OSD_Error);
}
- }else {
+ } else {
osdCheckResult.setOsdProvinceCorrect(ApiConstants.OSD_Unknown);
}
//妫�鏌ュ競鏄惁姝g‘
@@ -201,7 +212,7 @@
} else {
osdCheckResult.setOsdCityCorrect(ApiConstants.OSD_Error);
}
- }else {
+ } else {
osdCheckResult.setOsdCityCorrect(ApiConstants.OSD_Unknown);
}
//妫�鏌ュ尯鍘挎槸鍚︽纭�
@@ -212,10 +223,15 @@
} else {
osdCheckResult.setOsdPartCorrect(ApiConstants.OSD_Error);
}
- }else {
+ } else {
osdCheckResult.setOsdPartCorrect(ApiConstants.OSD_Unknown);
}
}
+ public void test() throws ExecutionException, InterruptedException {
+ log.info("娴嬭瘯鑾峰彇OSD");
+ OSDResult osd3 = DHApi.getOsd("51030446001320141102","51.95.68.3", DHUserName, DHPassword);
+ log.info("澶у崕缁撴灉鏁版嵁:{}",osd3);
+ }
}
diff --git a/ycl-server/src/main/resources/mapper/zgyw/CalculateReportMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/CalculateReportMapper.xml
index 5227511..bbd8c77 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/CalculateReportMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/CalculateReportMapper.xml
@@ -122,6 +122,7 @@
AND tcr.status=#{status}
</if>
</where>
+ group by tcr.id
ORDER BY
tcr.create_time
</select>
@@ -146,14 +147,26 @@
</select>
<select id="exportData" resultType="com.ycl.platform.domain.excel.CalculateExport">
- SELECT a.rule_name,
- COUNT(b.id) AS num,
- IFNULL(-SUM(b.score), 0) AS score
+ SELECT
+ a.rule_name as ruleName,
+ a.rule_condition as detailName,
+ COUNT(b.id) AS num,
+ IFNULL(-SUM(b.score), 0) AS score
FROM t_calculate_rule a
- LEFT JOIN t_calculate_record tcr ON a.contract_id = tcr.contract_id And tcr.id = #{calculateId}
- LEFT JOIN t_contract_score b ON b.rule_id = a.id AND auditing_status = 'PASS' AND b.deleted = 0 AND YEAR (b.create_time) = tcr.which_year
- WHERE a.deleted = 0
- GROUP BY a.rule_name
+ LEFT JOIN t_calculate_record tcr ON a.contract_id = tcr.contract_id
+ LEFT JOIN t_contract_score b ON b.rule_id = a.id AND auditing_status = 'PASS' AND b.deleted = 0
+ AND MONTH(b.create_time) = tcr.which_month
+ AND YEAR(b.create_time) = tcr.which_year
+ <where>
+ a.deleted = 0 and a.contract_id = #{contractId}
+ <if test="whichMonth!=null">
+ and tcr.which_month = #{whichMonth}
+ </if>
+ <if test="whichYear!=null">
+ and tcr.which_year = #{whichYear}
+ </if>
+ </where>
+ GROUP BY a.id
</select>
</mapper>
--
Gitblit v1.8.0