From abe25fd4ae6f6c3c928682d5de15a0e1ed8b7654 Mon Sep 17 00:00:00 2001
From: maven <2163098428@qq.com>
Date: 星期四, 08 一月 2026 16:10:42 +0800
Subject: [PATCH] yys
---
src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java | 118 +++++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 103 insertions(+), 15 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..dfc40fc 100644
--- a/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
+++ b/src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
@@ -3,13 +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;
@@ -33,6 +41,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 +85,13 @@
private PaymentRegistrationMapper paymentRegistrationMapper;
@Autowired
+ private LavorIssueMapper lavorIssueMapper;
+
+ @Autowired
private SysDeptMapper sysDeptMapper;
+
+ @Autowired
+ private CustomStorageMapper customStorageMapper;
@Override
public HomeBusinessDto business() {
@@ -117,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);
// 鍚堣鍚堝悓閲戦
@@ -125,9 +141,9 @@
.map(PurchaseLedger::getContractAmount)
.filter(Objects::nonNull)
.reduce(BigDecimal.ZERO, BigDecimal::add);
- // 鏈紑绁ㄩ噾棰�
+ // 鏈潵绁ㄩ噾棰�
BigDecimal unReceiptPaymentAmount = salesLedgerProductsCopy.stream()
- .map(SalesLedgerProduct::getNoInvoiceAmount)
+ .map(SalesLedgerProduct::getFutureTicketsAmount)
.filter(Objects::nonNull)
.reduce(BigDecimal.ZERO, BigDecimal::add);
@@ -137,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)
@@ -152,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());
@@ -302,14 +335,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,32 +400,66 @@
}
// 搴旀敹
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);
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