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