From 259e978c64b36f57aa1959c6d760416b86b26c34 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期一, 05 一月 2026 10:51:15 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/sqd' into sqd

---
 src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java |   60 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 59 insertions(+), 1 deletions(-)

diff --git a/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java b/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
index ad6ca2f..ee581ba 100644
--- a/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
+++ b/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
@@ -3,15 +3,21 @@
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.ruoyi.approve.mapper.ApproveProcessMapper;
 import com.ruoyi.approve.pojo.ApproveProcess;
+import com.ruoyi.collaborativeApproval.mapper.NoticeMapper;
+import com.ruoyi.collaborativeApproval.pojo.Notice;
 import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.device.mapper.DeviceRepairMapper;
+import com.ruoyi.device.pojo.DeviceRepair;
 import com.ruoyi.dto.MapDto;
 import com.ruoyi.framework.security.LoginUser;
 import com.ruoyi.home.dto.*;
 import com.ruoyi.home.service.HomeService;
 import com.ruoyi.lavorissue.mapper.LavorIssueMapper;
 import com.ruoyi.lavorissue.pojo.LaborIssue;
+import com.ruoyi.procurementrecord.mapper.CustomStorageMapper;
 import com.ruoyi.procurementrecord.mapper.ProcurementRecordMapper;
 import com.ruoyi.procurementrecord.mapper.ProcurementRecordOutMapper;
+import com.ruoyi.procurementrecord.pojo.CustomStorage;
 import com.ruoyi.procurementrecord.pojo.ProcurementRecordOut;
 import com.ruoyi.procurementrecord.pojo.ProcurementRecordStorage;
 import com.ruoyi.project.system.domain.SysDept;
@@ -84,6 +90,9 @@
     @Autowired
     private SysDeptMapper sysDeptMapper;
 
+    @Autowired
+    private CustomStorageMapper customStorageMapper;
+
     @Override
     public HomeBusinessDto business() {
         // 鏋勫缓缁撴灉
@@ -124,7 +133,7 @@
         }
 
         LambdaQueryWrapper<SalesLedgerProduct> salesLedgerProductMapperLambdaQueryWrapperCopy = new LambdaQueryWrapper<SalesLedgerProduct>();
-        salesLedgerProductMapperLambdaQueryWrapper.eq(SalesLedgerProduct::getType, 2)
+        salesLedgerProductMapperLambdaQueryWrapperCopy.eq(SalesLedgerProduct::getType, 2)
                 .in(SalesLedgerProduct::getSalesLedgerId, purchaseLedgers.stream().map(PurchaseLedger::getId).collect(Collectors.toList()));
         List<SalesLedgerProduct> salesLedgerProductsCopy = salesLedgerProductMapper.selectList(salesLedgerProductMapperLambdaQueryWrapperCopy);
         // 鍚堣鍚堝悓閲戦
@@ -144,6 +153,13 @@
                 .map(ProcurementRecordStorage::getInboundNum)
                 .filter(Objects::nonNull)
                 .reduce(BigDecimal.ZERO, BigDecimal::add);
+        // 鎴愬搧鍏ュ簱
+        List<CustomStorage> customStorages = customStorageMapper.selectList(null);
+        BigDecimal stockAmountCustom = customStorages.stream()
+                .map(CustomStorage::getInboundNum)
+                .filter(Objects::nonNull)
+                .reduce(BigDecimal.ZERO, BigDecimal::add);
+        stockAmount = stockAmount.add(stockAmountCustom);
         List<ProcurementRecordOut> procurementRecordOuts = procurementRecordOutMapper.selectList(null);
         BigDecimal outboundAmount = procurementRecordOuts.stream()
                 .map(ProcurementRecordOut::getInboundNum)
@@ -159,6 +175,16 @@
                 .map(ProcurementRecordStorage::getInboundNum)
                 .filter(Objects::nonNull)
                 .reduce(BigDecimal.ZERO, BigDecimal::add);
+        // 鑾峰彇褰撳ぉ鎴愬搧鍏ュ簱鏁伴噺
+        LambdaQueryWrapper<CustomStorage> customStorageLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        customStorageLambdaQueryWrapper.ge(CustomStorage::getCreateTime, now)  // 澶т簬绛変簬褰撳ぉ
+                .lt(CustomStorage::getCreateTime, now.plusDays(1));
+        List<CustomStorage> customStorages1 = customStorageMapper.selectList(customStorageLambdaQueryWrapper);
+        BigDecimal stockAmountCustom1 = customStorages1.stream()
+                .map(CustomStorage::getInboundNum)
+                .filter(Objects::nonNull)
+                .reduce(BigDecimal.ZERO, BigDecimal::add);
+        stockAmount1 = stockAmount1.add(stockAmountCustom1);
 
         homeBusinessDto.setMonthPurchaseMoney(receiveAmount.setScale(2, RoundingMode.HALF_UP).toString());
         homeBusinessDto.setMonthPurchaseHaveMoney(unReceiptPaymentAmount.setScale(2, RoundingMode.HALF_UP).toString());
@@ -404,4 +430,36 @@
 
         return statisticsReceivablePayableDto;
     }
+
+    @Autowired
+    private DeviceRepairMapper deviceRepairMapper;
+
+
+    @Autowired
+    private NoticeMapper noticeMapper;
+
+    @Override
+    public Map<String, Object> approveAndDeviceTodos() {
+        // 瀹℃壒鍗忓悓寰呭姙
+        Long aLong = approveProcessMapper.selectCount(new LambdaQueryWrapper<ApproveProcess>()
+                .eq(ApproveProcess::getApproveUserCurrentId, SecurityUtils.getUserId())
+                .eq(ApproveProcess::getApproveDelete, 0)
+                .in(ApproveProcess::getApproveStatus, 0, 1, 3));
+        // 璁惧鎶ヤ慨寰呭姙
+        Long aLong1 = deviceRepairMapper.selectCount(new LambdaQueryWrapper<DeviceRepair>()
+                .eq(DeviceRepair::getStatus, 0)
+                .eq(DeviceRepair::getRepairName, SecurityUtils.getLoginUser().getNickName()));
+        return new HashMap<String, Object>() {{
+            put("approveTodo", aLong);
+            put("deviceRepairTodo", aLong1);
+        }};
+    }
+
+    @Override
+    public Long noticesCount() {
+        // 鏌ヨ鏈繃鏈熺殑閫氱煡鏁伴噺锛氱姸鎬佷负鍙戝竷涓旇繃鏈熸椂闂村ぇ浜庣瓑浜庡綋鍓嶆棩鏈�
+        return noticeMapper.selectCount(new LambdaQueryWrapper<Notice>()
+                .eq(Notice::getStatus, 1) // 1琛ㄧず鍙戝竷鐘舵��
+                .ge(Notice::getExpirationDate, new Date())); // 杩囨湡鏃堕棿澶т簬绛変簬褰撳墠鏃ユ湡
+    }
 }

--
Gitblit v1.9.3