From 3b0516a2959e25576e4f3fda697a3b025d06c8c9 Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期二, 24 六月 2025 14:09:07 +0800
Subject: [PATCH] 每日录像可用指标添加日志,修改大屏为查看当前月平均

---
 ycl-server/src/main/java/com/ycl/platform/service/impl/ImageResourceSecurityServiceImpl.java |  127 ++++++++++++++++++++++++------------------
 1 files changed, 72 insertions(+), 55 deletions(-)

diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/ImageResourceSecurityServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/ImageResourceSecurityServiceImpl.java
index d2fc697..dfa4d7a 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/ImageResourceSecurityServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/ImageResourceSecurityServiceImpl.java
@@ -1,13 +1,27 @@
 package com.ycl.platform.service.impl;
 
+import com.alibaba.excel.EasyExcel;
+import com.alibaba.excel.read.listener.PageReadListener;
+import com.ycl.handler.ImageResourceHandler;
+import com.ycl.platform.domain.dto.ImageResourceDTO;
+import com.ycl.platform.domain.entity.CheckIndexVideo;
 import com.ycl.platform.domain.entity.ImageResourceSecurity;
+import com.ycl.platform.domain.entity.ImageResourceSecurityDetail;
+import com.ycl.platform.mapper.CheckIndexVideoMapper;
+import com.ycl.platform.mapper.ImageResourceSecurityDetailMapper;
 import com.ycl.platform.mapper.ImageResourceSecurityMapper;
 import com.ycl.platform.service.IImageResourceSecurityService;
+import com.ycl.system.entity.SysDept;
+import com.ycl.system.service.ISysDeptService;
 import com.ycl.utils.DateUtils;
-import org.springframework.beans.factory.annotation.Autowired;
+import jakarta.servlet.http.HttpServletResponse;
+import lombok.RequiredArgsConstructor;
+import lombok.SneakyThrows;
 import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
 
-import java.util.List;
+import java.math.BigDecimal;
+import java.util.*;
 
 /**
  * platformService涓氬姟灞傚鐞�
@@ -16,81 +30,84 @@
  * @date 2024-08-24
  */
 @Service
-public class ImageResourceSecurityServiceImpl implements IImageResourceSecurityService
-{
-    @Autowired
-    private ImageResourceSecurityMapper imageResourceSecurityMapper;
+@RequiredArgsConstructor
+public class ImageResourceSecurityServiceImpl implements IImageResourceSecurityService {
 
-    /**
-     * 鏌ヨplatform
-     *
-     * @param id platform涓婚敭
-     * @return platform
-     */
+    private final ImageResourceSecurityMapper imageResourceSecurityMapper;
+    private final ImageResourceSecurityDetailMapper imageResourceSecurityDetailMapper;
+    private final ISysDeptService deptService;
+    private final CheckIndexVideoMapper checkIndexVideoMapper;
+
     @Override
-    public ImageResourceSecurity selectImageResourceSecurityById(Long id)
-    {
+    public ImageResourceSecurity selectImageResourceSecurityById(Long id) {
         return imageResourceSecurityMapper.selectImageResourceSecurityById(id);
     }
 
-    /**
-     * 鏌ヨplatform鍒楄〃
-     *
-     * @param imageResourceSecurity platform
-     * @return platform
-     */
     @Override
-    public List<ImageResourceSecurity> selectImageResourceSecurityList(ImageResourceSecurity imageResourceSecurity)
-    {
-        return imageResourceSecurityMapper.selectImageResourceSecurityList(imageResourceSecurity);
+    public List<ImageResourceSecurity> selectImageResourceSecurityList(ImageResourceSecurity imageResourceSecurity) {
+        List<ImageResourceSecurity> list = imageResourceSecurityMapper.selectImageResourceSecurityList(imageResourceSecurity);
+        List<ImageResourceDTO> dtos = checkIndexVideoMapper.selectLastOneByDept();
+        for (ImageResourceSecurity item : list) {
+            Long deptId = item.getDeptId();
+            boolean flag = false;
+            for (ImageResourceDTO dto : dtos) {
+                if(dto.getDeptId().equals(deptId)){
+                    item.setImageResourceSecurity(dto.getImageResourceSecurity());
+                    flag = true;
+                }
+                if(!flag){
+                    item.setImageResourceSecurity(BigDecimal.ZERO);
+                }
+            }
+        }
+        return list;
     }
 
-    /**
-     * 鏂板platform
-     *
-     * @param imageResourceSecurity platform
-     * @return 缁撴灉
-     */
     @Override
-    public int insertImageResourceSecurity(ImageResourceSecurity imageResourceSecurity)
-    {
+    public int insertImageResourceSecurity(ImageResourceSecurity imageResourceSecurity) {
         imageResourceSecurity.setCreateTime(DateUtils.getNowDate());
         return imageResourceSecurityMapper.insertImageResourceSecurity(imageResourceSecurity);
     }
 
-    /**
-     * 淇敼platform
-     *
-     * @param imageResourceSecurity platform
-     * @return 缁撴灉
-     */
     @Override
-    public int updateImageResourceSecurity(ImageResourceSecurity imageResourceSecurity)
-    {
+    public int updateImageResourceSecurity(ImageResourceSecurity imageResourceSecurity) {
         return imageResourceSecurityMapper.updateImageResourceSecurity(imageResourceSecurity);
     }
 
-    /**
-     * 鎵归噺鍒犻櫎platform
-     *
-     * @param ids 闇�瑕佸垹闄ょ殑platform涓婚敭
-     * @return 缁撴灉
-     */
     @Override
-    public int deleteImageResourceSecurityByIds(Long[] ids)
-    {
+    public int deleteImageResourceSecurityByIds(Long[] ids) {
         return imageResourceSecurityMapper.deleteImageResourceSecurityByIds(ids);
     }
 
-    /**
-     * 鍒犻櫎platform淇℃伅
-     *
-     * @param id platform涓婚敭
-     * @return 缁撴灉
-     */
     @Override
-    public int deleteImageResourceSecurityById(Long id)
-    {
+    public int deleteImageResourceSecurityById(Long id) {
         return imageResourceSecurityMapper.deleteImageResourceSecurityById(id);
     }
+
+    @Override
+    @SneakyThrows
+    public void importTemplate(HttpServletResponse response) {
+        EasyExcel.write(response.getOutputStream(), ImageResourceSecurityDetail.class).sheet("妯℃澘").registerWriteHandler(new ImageResourceHandler()).doWrite(Collections.emptyList());
+    }
+
+    @Override
+    @SneakyThrows
+    public Boolean importData(MultipartFile file) {
+        ArrayList<ImageResourceSecurityDetail> list = new ArrayList<>();
+        List<SysDept> sysDept = deptService.selectDeptList(new SysDept());
+        EasyExcel.read(file.getInputStream(), ImageResourceSecurityDetail.class, new PageReadListener<ImageResourceSecurityDetail>(dataList -> {
+            for (ImageResourceSecurityDetail detail : dataList) {
+                SysDept sysDept1 = sysDept.stream().filter(dept -> dept.getDeptName().equals(detail.getDeptName())).findFirst().orElseThrow(() -> new RuntimeException(detail.getDeptName() + "涓嶅瓨鍦�"));
+                detail.setDeptId(sysDept1.getDeptId());
+                list.add(detail);
+            }
+        })).sheet().doRead();
+        imageResourceSecurityDetailMapper.saveBatch(list);
+        return true;
+    }
+
+    @Override
+    public void saveBatch(ArrayList<ImageResourceSecurity> imageResourceSecurities) {
+        imageResourceSecurityMapper.saveBatch(imageResourceSecurities);
+    }
 }

--
Gitblit v1.8.0