From 88a52c47529ad32d10aab320b826bc5ba6ebbb76 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期一, 05 一月 2026 10:15:08 +0800
Subject: [PATCH] yys  首页采购数据完善

---
 src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java |   78 ++++++++++++++++++++++++++++++++------
 1 files changed, 65 insertions(+), 13 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 606388c..61170fe 100644
--- a/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
+++ b/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
@@ -8,8 +8,12 @@
 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;
@@ -33,6 +37,8 @@
 
 import java.math.BigDecimal;
 import java.math.RoundingMode;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.time.*;
 import java.time.temporal.TemporalAdjusters;
 import java.util.*;
@@ -75,7 +81,13 @@
     private PaymentRegistrationMapper paymentRegistrationMapper;
 
     @Autowired
+    private LavorIssueMapper lavorIssueMapper;
+
+    @Autowired
     private SysDeptMapper sysDeptMapper;
+
+    @Autowired
+    private CustomStorageMapper customStorageMapper;
 
     @Override
     public HomeBusinessDto business() {
@@ -117,7 +129,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);
         // 鍚堣鍚堝悓閲戦
@@ -137,6 +149,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)
@@ -152,6 +171,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());
@@ -302,14 +331,35 @@
     }
 
     @Override
-    public List<ApproveProcess> todos() {
+    public List<ApproveProcess> todos() throws ParseException {
         LoginUser loginUser = SecurityUtils.getLoginUser();
         LambdaQueryWrapper<ApproveProcess> approveProcessLambdaQueryWrapper = new LambdaQueryWrapper<>();
         approveProcessLambdaQueryWrapper.eq(ApproveProcess::getApproveDelete, 0)
                 .eq(ApproveProcess::getApproveUserCurrentId, loginUser.getUserId())
                 .ne(ApproveProcess::getApproveStatus, 2)
                 .eq(ApproveProcess::getTenantId, loginUser.getTenantId());
-        return approveProcessMapper.selectList(approveProcessLambdaQueryWrapper);
+        List<ApproveProcess> approveProcesses = approveProcessMapper.selectList(approveProcessLambdaQueryWrapper);
+        if(CollectionUtils.isEmpty(approveProcesses)){
+            approveProcesses = new ArrayList<>();
+        }
+        // 鏌ヨ鏈鐢ㄥ姵淇濊褰�
+        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
+
+        LaborIssue laborIssue1 = new LaborIssue();
+        laborIssue1.setAdoptedDate(new Date());
+        laborIssue1.setIssueDate(sdf.parse(sdf.format(new Date())));
+        List<LaborIssue> laborIssues = lavorIssueMapper.list(laborIssue1);
+        if(!CollectionUtils.isEmpty(laborIssues)){
+            for (LaborIssue laborIssue : laborIssues) {
+                ApproveProcess approveProcess = new ApproveProcess();
+                approveProcess.setApproveId(laborIssue.getOrderNo());
+                approveProcess.setApproveDeptName(sysDeptMapper.selectDeptById(loginUser.getTenantId()).getDeptName());
+                approveProcess.setApproveTime(laborIssue.getIssueDate());
+                approveProcess.setApproveReason(laborIssue.getDictTypeName() + "-" + laborIssue.getDictName() + "瓒呮椂鏈鍙�");
+                approveProcesses.add(approveProcess);
+            }
+        }
+        return approveProcesses;
     }
 
     /**
@@ -346,29 +396,31 @@
         }
         // 搴旀敹
         List<SalesLedger> salesLedgers = salesLedgerMapper.selectList(new LambdaQueryWrapper<SalesLedger>()
-                .ge(SalesLedger::getEntryDate, startDate)
-                .lt(SalesLedger::getEntryDate, endDate)
+//                .ge(SalesLedger::getEntryDate, startDate)
+//                .lt(SalesLedger::getEntryDate, endDate)
         );
         BigDecimal receivableMoney = salesLedgers.stream().map(SalesLedger::getContractAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
         // 搴斾粯
         List<PurchaseLedger> procurementRecords = purchaseLedgerMapper.selectList(new LambdaQueryWrapper<PurchaseLedger>()
-                .ge(PurchaseLedger::getEntryDate, startDate)
-                .lt(PurchaseLedger::getEntryDate, endDate)
+//                .ge(PurchaseLedger::getEntryDate, startDate)
+//                .lt(PurchaseLedger::getEntryDate, endDate)
         );
         BigDecimal payableMoney = procurementRecords.stream().map(PurchaseLedger::getContractAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
         // 棰勬敹
         List<ReceiptPayment> receiptPayments = receiptPaymentMapper.selectList(new LambdaQueryWrapper<ReceiptPayment>()
-                .ge(ReceiptPayment::getReceiptPaymentDate, startDate)
-                .lt(ReceiptPayment::getReceiptPaymentDate, endDate));
+//                .ge(ReceiptPayment::getReceiptPaymentDate, startDate)
+//                .lt(ReceiptPayment::getReceiptPaymentDate, endDate)
+        );
         BigDecimal advanceMoney = receiptPayments.stream().map(ReceiptPayment::getReceiptPaymentAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
         // 棰勪粯
         List<PaymentRegistration> paymentRegistrations = paymentRegistrationMapper.selectList(new LambdaQueryWrapper<PaymentRegistration>()
-                .ge(PaymentRegistration::getPaymentDate, startDate)
-                .lt(PaymentRegistration::getPaymentDate, endDate));
+//                .ge(PaymentRegistration::getPaymentDate, startDate)
+//                .lt(PaymentRegistration::getPaymentDate, endDate)
+        );
         BigDecimal prepayMoney = paymentRegistrations.stream().map(PaymentRegistration::getCurrentPaymentAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
         StatisticsReceivablePayableDto statisticsReceivablePayableDto = new StatisticsReceivablePayableDto();
-        statisticsReceivablePayableDto.setPayableMoney(payableMoney);
-        statisticsReceivablePayableDto.setReceivableMoney(receivableMoney);
+        statisticsReceivablePayableDto.setPayableMoney(payableMoney.subtract(prepayMoney));
+        statisticsReceivablePayableDto.setReceivableMoney(receivableMoney.subtract(advanceMoney));
         statisticsReceivablePayableDto.setAdvanceMoney(advanceMoney);
         statisticsReceivablePayableDto.setPrepayMoney(prepayMoney);
 

--
Gitblit v1.9.3