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/NotifyServiceImpl.java |   52 +++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 39 insertions(+), 13 deletions(-)

diff --git a/ycl-server/src/main/java/com/ycl/platform/service/impl/NotifyServiceImpl.java b/ycl-server/src/main/java/com/ycl/platform/service/impl/NotifyServiceImpl.java
index b42ff8f..70a4b83 100644
--- a/ycl-server/src/main/java/com/ycl/platform/service/impl/NotifyServiceImpl.java
+++ b/ycl-server/src/main/java/com/ycl/platform/service/impl/NotifyServiceImpl.java
@@ -8,20 +8,25 @@
 import com.ycl.platform.domain.form.NotifyForm;
 import com.ycl.platform.domain.vo.NotifyVO;
 import com.ycl.platform.domain.query.NotifyQuery;
+
+import java.util.Date;
 import java.util.List;
-import org.apache.commons.lang3.StringUtils;
+
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.ycl.system.page.PageUtil;
+import com.ycl.utils.SecurityUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.security.core.context.SecurityContextHolder;
 import org.springframework.beans.BeanUtils;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.Assert;
 import java.util.ArrayList;
+import java.util.Objects;
 import java.util.stream.Collectors;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
 import lombok.RequiredArgsConstructor;
+import org.springframework.util.StringUtils;
 
 /**
  * 閫氱煡 鏈嶅姟瀹炵幇绫�
@@ -43,6 +48,9 @@
     @Override
     public Result add(NotifyForm form) {
         Notify entity = NotifyForm.getEntityByForm(form, null);
+        Date now = new Date();
+        entity.setCreateTime(now);
+        entity.setUpdateTime(now);
         if(baseMapper.insert(entity) > 0) {
             return Result.ok("娣诲姞鎴愬姛");
         }
@@ -58,10 +66,11 @@
     public Result update(NotifyForm form) {
 
         Notify entity = baseMapper.selectById(form.getId());
-
         // 涓虹┖鎶汭llegalArgumentException锛屽仛鍏ㄥ眬寮傚父澶勭悊
         Assert.notNull(entity, "璁板綍涓嶅瓨鍦�");
         BeanUtils.copyProperties(form, entity);
+        Date now = new Date();
+        entity.setUpdateTime(now);
         if (baseMapper.updateById(entity) > 0) {
             return Result.ok("淇敼鎴愬姛");
         }
@@ -101,17 +110,34 @@
      */
     @Override
     public Result page(NotifyQuery query) {
-
-        IPage<Notify> page = new LambdaQueryChainWrapper<>(baseMapper)
-                .orderByDesc(Notify::getCreateTime)
-                .page(PageUtil.getPage(query, Notify.class));
-
-        List<NotifyVO> vos = page.getRecords().stream()
-                .map(
-                        entity -> NotifyVO.getVoByEntity(entity, null)
-                )
-                .collect(Collectors.toList());
-        return Result.ok().data(vos).total(page.getTotal());
+        IPage<Notify> page = PageUtil.getPage(query, Notify.class);
+        // 濡傛灉鏄崟浣嶇鐞嗗憳锛氭煡璇㈠崟浣嶉�氱煡
+        if (SecurityUtils.getLoginUser().getUnitAdmin()) {
+            new LambdaQueryChainWrapper<>(baseMapper)
+                    .between(Objects.nonNull(query.getEnd()) && Objects.nonNull(query.getStart()),
+                            Notify::getCreateTime,
+                            query.getStart(),
+                            query.getEnd())
+                    .eq(StringUtils.hasText(query.getWorkOrderNo()), Notify::getWorkOrderNo, query.getWorkOrderNo())
+                    .eq(Notify::getNotifyUnit, SecurityUtils.getLoginUser().getUnitId())
+                    .orderByDesc(Notify::getCreateTime)
+                    .page(page);
+        } else {
+            // 濡傛灉鏄崟浣嶄汉鍛橈細鏌ヨ鑷繁鐨勯�氱煡
+            new LambdaQueryChainWrapper<>(baseMapper)
+                    .between(Objects.nonNull(query.getEnd()) && Objects.nonNull(query.getStart()),
+                            Notify::getCreateTime,
+                            query.getStart(),
+                            query.getEnd())
+                    .eq(StringUtils.hasText(query.getWorkOrderNo()), Notify::getWorkOrderNo, query.getWorkOrderNo())
+                    .eq(Notify::getNotifyUser, SecurityUtils.getLoginUser().getUnitId())
+                    .orderByDesc(Notify::getCreateTime)
+                    .page(page);
+        }
+        List<NotifyVO> result = page.getRecords().stream().map(entity -> {
+            return NotifyVO.getVoByEntity(entity, null);
+        }).collect(Collectors.toList());
+        return Result.ok().data(result).total(page.getTotal());
     }
 
     /**

--
Gitblit v1.8.0