From 7fa07718de92093c6315c5cb37bbc8dd7cdafa3c Mon Sep 17 00:00:00 2001
From: fuliqi <fuliqi@qq.com>
Date: 星期三, 25 十二月 2024 10:28:43 +0800
Subject: [PATCH] 考核积分修改、点位导出修改

---
 ycl-server/src/main/java/com/ycl/platform/service/impl/WorkOrderServiceImpl.java |   59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 57 insertions(+), 2 deletions(-)

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 a8ee2ee..81b9299 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
@@ -13,6 +13,7 @@
 import com.ycl.platform.domain.entity.*;
 import com.ycl.platform.domain.form.*;
 import com.ycl.platform.domain.query.*;
+import com.ycl.platform.domain.result.SYS.TMonitorResult;
 import com.ycl.platform.domain.vo.*;
 import com.ycl.platform.domain.vo.screen.ScreenWorkOrderVO;
 import com.ycl.platform.domain.vo.screen.WorkOrderRegionVO;
@@ -78,6 +79,8 @@
 public class WorkOrderServiceImpl extends ServiceImpl<WorkOrderMapper, WorkOrder> implements WorkOrderService {
 
     private final YwPointService ywPointService;
+    private final TMonitorMapper monitorMapper;
+    private final DynamicColumnMapper dynamicColumnMapper;
     private final WorkOrderAuditingRecordMapper workOrderAuditingRecordMapper;
     private final WorkOrderAuditingRecordService workOrderAuditingRecordService;
     private final WorkOrderYwConditionRecordMapper workOrderYwConditionRecordMapper;
@@ -1113,6 +1116,12 @@
         return Result.ok().data(workOrder);
     }
 
+    /**
+     * 宸ュ崟瀵煎嚭鐨勯�昏緫
+     * 鏍囩锛氬悓涓�涓猧p鏍囩鍚堝湪涓�璧凤紝閽堝绂荤嚎宸ュ崟锛坕p鐩稿悓灏变笉浼氱敓鎴愬伐鍗曪級锛屾柟渚胯繍缁村鐞�
+     * @param query
+     * @return
+     */
     @Override
     public List<WorkOrderVO> export(WorkOrderExportQuery query) {
         if (query.getUnitId() == null) {
@@ -1121,13 +1130,59 @@
         if (query.getStart() != null) query.setStart(query.getStart() + " 00:00:00");
         if (query.getEnd() != null) query.setEnd(query.getEnd() + " 23:59:59");
         List<WorkOrderVO> export = baseMapper.export(query);
+        if(CollectionUtils.isEmpty(export)) return new ArrayList<WorkOrderVO>();
+        List<String> ips = export.stream().map(WorkOrderVO::getIp).collect(Collectors.toList());
+        //鏌ュ嚭鐩稿悓ip鐨勮澶囥�佸苟鏌ュ嚭鏍囩
+        List<TMonitorResult> monitorVOS = monitorMapper.getByIp(ips);
+        //鑾峰彇鍔ㄦ�佸垪鏁版嵁
+        List<Integer> pointIds = monitorVOS.stream().map(TMonitorResult::getPointId).collect(Collectors.toList());
+        List<DynamicColumnVO> dynamics = dynamicColumnMapper.getDynamicsByIds("t_yw_point", pointIds);
+        //琛ュ厖鍔ㄦ�佸垪鏁版嵁
+        if (!CollectionUtils.isEmpty(dynamics)) {
+            Map<Integer, List<DynamicColumnVO>> map = dynamics.stream().collect(Collectors.groupingBy(DynamicColumnVO::getRefId));
+            for (TMonitorResult tMonitorResult : monitorVOS) {
+                Integer pointId = tMonitorResult.getPointId();
+                tMonitorResult.setDynamicColumnList(map.get(pointId));
+            }
+        }
         export.forEach(result->{
-           StringBuilder tag = new StringBuilder("" + (result.getProvinceTagVideo() ? "鐪佸巺瑙嗛銆�" : "")+(result.getProvinceTagCar() ? "鐪佸巺杞﹁締銆�" : "")+(result.getProvinceTagFace() ? "鐪佸巺浜鸿劯銆�" : "") + (result.getImportantTag() ? "閲嶇偣鐐逛綅銆�" : "") + (result.getImportantCommandImageTag() ? "閲嶇偣鎸囨尌鍥惧儚銆�" : "") + (result.getDeptTag() ? "閮ㄧ骇銆�" : ""));
-            // 鍒犻櫎瀛楃涓叉湯灏剧殑鈥溿�佲��
+            StringBuilder dynamicTag = new StringBuilder("");
+            Boolean provinceTagVideo = false;
+            Boolean provinceTagCar = false;
+            Boolean provinceTagFace = false;
+            Boolean importantTag = false;
+            Boolean importantCommandImageTag = false;
+            Boolean deptTag = false;
+            List<String> dynamicTags = new ArrayList<>();
+            for (TMonitorResult tagVO : monitorVOS) {
+                if(tagVO.getIp().equals(result.getIp())){
+                    if(tagVO.getProvinceTagVideo()) provinceTagVideo = true;
+                    if(tagVO.getProvinceTagCar()) provinceTagCar = true;
+                    if(tagVO.getProvinceTagFace()) provinceTagFace = true;
+                    if(tagVO.getImportantTag()) importantTag = true;
+                    if(tagVO.getImportantCommandImageTag()) importantCommandImageTag = true;
+                    if(tagVO.getDeptTag()) deptTag = true;
+                    //鍔ㄦ�佸垪澶勭悊鍔犲湪鏍囩閲�
+                    if (!CollectionUtils.isEmpty(tagVO.getDynamicColumnList())) {
+                        List<DynamicColumnVO> dynamicColumnList = tagVO.getDynamicColumnList();
+                        for (DynamicColumnVO dynamicColumnVO : dynamicColumnList) {
+                            if(!dynamicTags.contains(dynamicColumnVO.getColumnValue())) dynamicTags.add(dynamicColumnVO.getColumnValue());
+                        }
+                    }
+                }
+            }
+            for (String tag : dynamicTags) {
+                dynamicTag.append(tag).append("銆�");
+            }
+            StringBuilder tag = new StringBuilder("" + (provinceTagVideo ? "鐪佸巺瑙嗛銆�" : "")+(provinceTagCar ? "鐪佸巺杞﹁締銆�" : "")+(provinceTagFace ? "鐪佸巺浜鸿劯銆�" : "") + (importantTag ? "閲嶇偣鐐逛綅銆�" : "") + (importantCommandImageTag ? "閲嶇偣鎸囨尌鍥惧儚銆�" : "") + (deptTag ? "閮ㄧ骇銆�" : ""));
             if (tag.toString().endsWith("銆�")) {
                 tag = new StringBuilder(tag.substring(0, tag.length() - 1));
             }
+            if (dynamicTag.toString().endsWith("銆�")) {
+                dynamicTag = new StringBuilder(dynamicTag.substring(0, dynamicTag.length() - 1));
+            }
             result.setTag(tag.toString());
+            result.setDynamicTag(dynamicTag.toString());
         });
         return export;
     }

--
Gitblit v1.8.0