From e9dd07a6eec753511aec755e1d1ee5344f06a194 Mon Sep 17 00:00:00 2001
From: xiangpei <xiangpei@timesnew.cn>
Date: 星期三, 21 八月 2024 16:26:05 +0800
Subject: [PATCH] 工单生成时优化,报备优化

---
 ycl-server/src/main/java/com/ycl/task/DeviceChannelTask.java                          |   18 +++++++++
 ycl-pojo/src/main/java/com/ycl/platform/domain/vo/WorkOrderYwConditionRecordVO.java   |    3 +
 ycl-pojo/src/main/java/com/ycl/platform/domain/entity/WorkOrderYwConditionRecord.java |    3 +
 ycl-server/src/main/java/com/ycl/platform/mapper/ReportMapper.java                    |    8 ++++
 ycl-server/src/main/resources/mapper/zgyw/ReportMapper.xml                            |   19 +++++++++
 ycl-server/src/main/resources/mapper/zgyw/WorkOrderYwConditionRecordMapper.xml        |    2 
 ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java      |   22 ++++++++++-
 ycl-server/src/main/java/com/ycl/platform/service/impl/DataCenterServiceImpl.java     |    7 ---
 ycl-server/src/main/java/com/ycl/platform/service/DataCenterService.java              |    8 ----
 9 files changed, 72 insertions(+), 18 deletions(-)

diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/WorkOrderYwConditionRecord.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/WorkOrderYwConditionRecord.java
index 2d4f45b..71231ca 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/WorkOrderYwConditionRecord.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/entity/WorkOrderYwConditionRecord.java
@@ -38,5 +38,8 @@
     @TableField("yw_proofMaterials")
     private String ywProofMaterials;
 
+    @ApiModelProperty("鏄惁涓虹郴缁熸秷鎭�")
+    @TableField("sys_msg")
+    private Boolean sysMsg;
 
 }
diff --git a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/WorkOrderYwConditionRecordVO.java b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/WorkOrderYwConditionRecordVO.java
index 2e7abb0..9b9bdc1 100644
--- a/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/WorkOrderYwConditionRecordVO.java
+++ b/ycl-pojo/src/main/java/com/ycl/platform/domain/vo/WorkOrderYwConditionRecordVO.java
@@ -34,6 +34,9 @@
     /** 浣愯瘉鏉愭枡 */
     private String ywProofMaterials;
 
+    /** 鏄惁绯荤粺娑堟伅 */
+    private Boolean sysMsg;
+
     public static WorkOrderYwConditionRecordVO getVoByEntity(@NonNull WorkOrderYwConditionRecord entity, WorkOrderYwConditionRecordVO vo) {
         if(vo == null) {
             vo = new WorkOrderYwConditionRecordVO();
diff --git a/ycl-server/src/main/java/com/ycl/platform/mapper/ReportMapper.java b/ycl-server/src/main/java/com/ycl/platform/mapper/ReportMapper.java
index 1d574d4..2569293 100644
--- a/ycl-server/src/main/java/com/ycl/platform/mapper/ReportMapper.java
+++ b/ycl-server/src/main/java/com/ycl/platform/mapper/ReportMapper.java
@@ -33,4 +33,12 @@
     List<ReportVO> examineRecord(@Param("id") Integer id);
 
     List<String> selectNumberList(String status, String date);
+
+    /**
+     * 鏌ヨ宸ュ崟鏄惁鎶ュ杩�
+     *
+     * @param serialNumber 鍥芥爣鐮�
+     * @return
+     */
+    Report checkPointReported(@Param("serialNumber") String serialNumber);
 }
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 db4bf96..d06696f 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
@@ -23,7 +23,6 @@
      * @param query
      * @return
      */
-    // TODO 杩斿洖鏁版嵁瀵硅薄鏇存崲
     Result videoPointOnlineRate(DataCenterQuery query);
 
     /**
@@ -72,7 +71,6 @@
      * @param query
      * @return
      */
-    // TODO 杩斿洖鏁版嵁瀵硅薄鏇存崲
     Result videoLabelingAccuracy(DataCenterQuery query);
 
     /**
@@ -81,7 +79,6 @@
      * @param query
      * @return
      */
-    // TODO 杩斿洖鏁版嵁瀵硅薄鏇存崲
     Result videoImportantPointLabelingAccuracy(DataCenterQuery query);
 
     /**
@@ -90,7 +87,6 @@
      * @param query
      * @return
      */
-    // TODO 杩斿洖鏁版嵁瀵硅薄鏇存崲
     Result videoCheckTimeAccuracy(DataCenterQuery query);
 
     /**
@@ -99,7 +95,6 @@
      * @param query
      * @return
      */
-    // TODO 杩斿洖鏁版嵁瀵硅薄鏇存崲
     Result videoImportantPointCheckTimeAccuracy(DataCenterQuery query);
 
     /**
@@ -108,7 +103,6 @@
      * @param query
      * @return
      */
-    // TODO 杩斿洖鏁版嵁瀵硅薄鏇存崲
     Result videoImportantPointOnlineRate(DataCenterQuery query);
 
     /**
@@ -117,7 +111,6 @@
      * @param query
      * @return
      */
-    // TODO 杩斿洖鏁版嵁瀵硅薄鏇存崲
     Result videoImportantPointImageOnlineRate(DataCenterQuery query);
 
 
@@ -226,7 +219,6 @@
      * @param query
      * @return
      */
-    // TODO 鏇存崲鍝嶅簲缁撴灉
     Result facePointOnlineRate(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 8b0c6d6..f779f18 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
@@ -189,7 +189,6 @@
      * @param params
      * @return
      */
-    // TODO 杩斿洖鏁版嵁瀵硅薄鏇存崲
     @Override
     public Result videoLabelingAccuracy(DataCenterQuery params) {
         Query query = new Query();
@@ -215,7 +214,6 @@
      * @param params
      * @return
      */
-    // TODO 杩斿洖鏁版嵁瀵硅薄鏇存崲
     @Override
     public Result videoImportantPointLabelingAccuracy(DataCenterQuery params) {
         Query query = new Query();
@@ -241,7 +239,6 @@
      * @param params
      * @return
      */
-    // TODO 杩斿洖鏁版嵁瀵硅薄鏇存崲
     @Override
     public Result videoCheckTimeAccuracy(DataCenterQuery params) {
         Query query = new Query();
@@ -267,7 +264,6 @@
      * @param params
      * @return
      */
-    // TODO 杩斿洖鏁版嵁瀵硅薄鏇存崲
     @Override
     public Result videoImportantPointCheckTimeAccuracy(DataCenterQuery params) {
         Query query = new Query();
@@ -293,7 +289,6 @@
      * @param params
      * @return
      */
-    // TODO 杩斿洖鏁版嵁瀵硅薄鏇存崲
     @Override
     public Result videoImportantPointOnlineRate(DataCenterQuery params) {
         Query query = new Query();
@@ -319,7 +314,6 @@
      * @param params
      * @return
      */
-    // TODO 杩斿洖鏁版嵁瀵硅薄鏇存崲
     @Override
     public Result videoImportantPointImageOnlineRate(DataCenterQuery params) {
         Query query = new Query();
@@ -623,7 +617,6 @@
      * @param params
      * @return
      */
-    // TODO 鏇存崲鍝嶅簲缁撴灉
     @Override
     public Result facePointOnlineRate(DataCenterQuery params) {
         Query query = new Query();
diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
index ddf6987..13a982c 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java
@@ -82,6 +82,7 @@
     private final TMonitorMapper monitorMapper;
     private final SysConfigMapper configMapper;
     private final ServerConfig serverConfig;
+    private final ReportMapper reportMapper;
 
     @Value("${rtsp.server:http://127.0.0.1:7788}")
     private String rtspServer;
@@ -112,7 +113,7 @@
         Map<String, WorkOrder> mapping = inDatabaseWorkOrderList.stream().collect((Collectors.toMap(WorkOrder::getSerialNumber, workOrder -> workOrder)));
         List<WorkOrder> waitAddList = new ArrayList<>(48);
         Integer updateNum = 0;
-        // TODO 鏌ヨ鏄惁鎶ュ杩囷紝鏇存柊鏁呴殰绫诲瀷
+
         for (WorkOrder workOrder : workOrderList) {
             WorkOrder databaseWorkOrder = mapping.get(workOrder.getSerialNumber());
             if (Objects.nonNull(databaseWorkOrder)) {
@@ -129,11 +130,22 @@
                     databaseWorkOrder.setUpdateTime(now);
                     baseMapper.updateById(databaseWorkOrder);
                     updateNum++;
-                    // 鍚屾椂鏂板涓�涓繍缁村鐞嗕俊鎭紝琛ㄦ槑姝ゅ伐鍗曡璋冩暣 TODO
+                    // 鍚屾椂鏂板涓�涓繍缁村鐞嗕俊鎭紝琛ㄦ槑姝ゅ伐鍗曡璋冩暣
+                    WorkOrderYwConditionRecord ywRecord = new WorkOrderYwConditionRecord();
+                    ywRecord.setWorkOrderId(databaseWorkOrder.getId());
+                    ywRecord.setCommitUser(1);
+                    ywRecord.setYwCondition("鏁呴殰绫诲瀷鏇存柊锛屽伐鍗曠姸鎬佽皟鏁翠负寰呭鐞�");
+                    ywRecord.setCreateTime(new Date());
+                    workOrderYwConditionRecordMapper.insert(ywRecord);
                 }
             } else {
                 workOrder.setCreateTime(new Date());
                 workOrder.setUpdateTime(new Date());
+                // 濡傛灉鎶ュ杩囷紝浣跨敤鏈�鏂版姤澶囩殑閿欒绫诲瀷
+                Report report = reportMapper.checkPointReported(workOrder.getSerialNumber());
+                if (Objects.nonNull(report)) {
+                    workOrder.setErrorType(report.getErrorType());
+                }
                 waitAddList.add(workOrder);
             }
         }
@@ -316,6 +328,7 @@
         workOrderYwConditionRecord.setCommitUser(SecurityUtils.getLoginUser().getUserId().intValue());
         workOrderYwConditionRecord.setYwCondition(form.getYwCondition());
         workOrderYwConditionRecord.setYwProofMaterials(form.getYwProofMaterials());
+        workOrderYwConditionRecord.setSysMsg(Boolean.FALSE);
         workOrderYwConditionRecordMapper.insert(workOrderYwConditionRecord);
         return Result.ok("鎿嶄綔鎴愬姛");
     }
@@ -323,6 +336,11 @@
     @Override
     public Result selectYwConditionByYwId(Integer id) {
         List<WorkOrderYwConditionRecordVO> ywConditionList = workOrderYwConditionRecordMapper.selectYwConditionByYwId(id);
+        ywConditionList.stream().forEach(item -> {
+            if (Objects.nonNull(item.getSysMsg()) && item.getSysMsg()) {
+                item.setCommitUserName("绯荤粺娑堟伅");
+            }
+        });
         return Result.ok().data(ywConditionList);
     }
 
diff --git a/ycl-server/src/main/java/com/ycl/task/DeviceChannelTask.java b/ycl-server/src/main/java/com/ycl/task/DeviceChannelTask.java
new file mode 100644
index 0000000..ae1b355
--- /dev/null
+++ b/ycl-server/src/main/java/com/ycl/task/DeviceChannelTask.java
@@ -0,0 +1,18 @@
+package com.ycl.task;
+
+import org.springframework.stereotype.Component;
+
+/**
+ * 閫氶亾鍚屾
+ *
+ * @author锛歺p
+ * @date锛�2024/8/21 15:18
+ */
+@Component("deviceChannelTask")
+public class DeviceChannelTask {
+
+    public void run() {
+        // TODO 寰呭疄鐜�
+    }
+
+}
diff --git a/ycl-server/src/main/resources/mapper/zgyw/ReportMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/ReportMapper.xml
index 52bf32f..9da4ca5 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/ReportMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/ReportMapper.xml
@@ -70,4 +70,23 @@
         WHERE r.status = #{status} AND
               #{date} between r.begin_create_time and r.end_create_time
     </select>
+
+    <select id="checkPointReported" resultType="com.ycl.platform.domain.vo.ReportVO">
+        SELECT
+               r.id, r.errorType
+        FROM
+             t_report r
+                 INNER JOIN t_yw_point yo ON r.point_id = yo.id AND yo.deleted = 0
+                 INNER JOIN t_work_order wo ON yo.serial_number = wo.serial_number AND wo.serial_number = #{serialNumber} AND wo.deleted = 0
+        WHERE
+             r.status = 1
+        ORDER BY r.auditing_time DESC
+        LIMIT 1
+    </select>
+
+
+
+
+
+
 </mapper>
diff --git a/ycl-server/src/main/resources/mapper/zgyw/WorkOrderYwConditionRecordMapper.xml b/ycl-server/src/main/resources/mapper/zgyw/WorkOrderYwConditionRecordMapper.xml
index d8b6c6e..24fc1cd 100644
--- a/ycl-server/src/main/resources/mapper/zgyw/WorkOrderYwConditionRecordMapper.xml
+++ b/ycl-server/src/main/resources/mapper/zgyw/WorkOrderYwConditionRecordMapper.xml
@@ -13,7 +13,7 @@
     </resultMap>
 
     <select id="selectYwConditionByYwId" resultMap="BaseResultMap">
-        SELECT yw.id, yw.commit_user, yw.yw_condition, yw.yw_proofMaterials, yw.create_time, su.nick_name
+        SELECT yw.id, yw.commit_user, yw.yw_condition, yw.yw_proofMaterials, yw.create_time, yw.sys_msg, su.nick_name
         FROM t_work_order_yw_condition_record yw
                  INNER JOIN sys_user su ON yw.commit_user = su.user_id AND yw.deleted = 0 AND yw.work_order_id = #{workOrderId}
         ORDER BY yw.create_time DESC

--
Gitblit v1.8.0