From 6518050093fe8f36b603a7fef9d4683813a91645 Mon Sep 17 00:00:00 2001
From: chenhj <1263187585@qq.com>
Date: 星期三, 22 四月 2026 14:57:30 +0800
Subject: [PATCH] 修复循环依赖
---
src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java | 44 ++++++++++++++++++++-
src/main/java/com/ruoyi/basic/service/impl/ReturnVisitReminderService.java | 6 +-
src/main/java/com/ruoyi/projectManagement/service/impl/handle/InfoStageHandleService.java | 4 +
src/main/java/com/ruoyi/purchase/service/IPurchaseLedgerService.java | 4 +
src/main/java/com/ruoyi/basic/service/impl/CustomerFollowUpFileServiceImpl.java | 20 +++++++---
src/main/java/com/ruoyi/projectManagement/service/impl/PlanServiceImpl.java | 4 +
src/main/java/com/ruoyi/basic/service/impl/CustomerPrivateServiceImpl.java | 3 -
src/main/java/com/ruoyi/project/common/CaptchaController.java | 8 ++--
8 files changed, 72 insertions(+), 21 deletions(-)
diff --git a/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java b/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java
index 410d17b..7cbf63e 100644
--- a/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java
+++ b/src/main/java/com/ruoyi/approve/service/impl/ApproveNodeServiceImpl.java
@@ -23,7 +23,14 @@
import com.ruoyi.project.system.service.ISysNoticeService;
import com.ruoyi.purchase.mapper.PurchaseLedgerMapper;
import com.ruoyi.purchase.pojo.PurchaseLedger;
-import com.ruoyi.purchase.service.impl.PurchaseLedgerServiceImpl;
+import com.ruoyi.quality.mapper.QualityInspectMapper;
+import com.ruoyi.quality.mapper.QualityInspectParamMapper;
+import com.ruoyi.quality.mapper.QualityTestStandardMapper;
+import com.ruoyi.quality.mapper.QualityTestStandardParamMapper;
+import com.ruoyi.quality.pojo.QualityInspect;
+import com.ruoyi.quality.pojo.QualityInspectParam;
+import com.ruoyi.quality.pojo.QualityTestStandard;
+import com.ruoyi.quality.pojo.QualityTestStandardParam;
import com.ruoyi.sales.mapper.CommonFileMapper;
import com.ruoyi.sales.mapper.SalesLedgerProductMapper;
import com.ruoyi.sales.mapper.SalesQuotationMapper;
@@ -61,7 +68,10 @@
private final CommonFileServiceImpl commonFileService;
private final StockUtils stockUtils;
private final SalesLedgerProductMapper salesLedgerProductMapper;
- private final PurchaseLedgerServiceImpl purchaseLedgerServiceImpl;
+ private final QualityInspectMapper qualityInspectMapper;
+ private final QualityTestStandardMapper qualityTestStandardMapper;
+ private final QualityTestStandardParamMapper qualityTestStandardParamMapper;
+ private final QualityInspectParamMapper qualityInspectParamMapper;
public ApproveProcess getApproveById(String id) {
@@ -182,7 +192,7 @@
for (SalesLedgerProduct salesLedgerProduct : salesLedgerProducts) {
// 璐ㄦ
if (salesLedgerProduct.getIsChecked()) {
- purchaseLedgerServiceImpl.addQualityInspect(purchaseLedger, salesLedgerProduct);
+ addQualityInspect(purchaseLedger, salesLedgerProduct);
} else {
//鐩存帴鍏ュ簱
stockUtils.addStock(salesLedgerProduct.getProductModelId(), salesLedgerProduct.getQuantity(), StockInQualifiedRecordTypeEnum.PURCHASE_STOCK_IN.getCode(), purchaseLedger.getId());
@@ -310,4 +320,32 @@
return null;
}
+ private void addQualityInspect(PurchaseLedger purchaseLedger, SalesLedgerProduct saleProduct) {
+ QualityInspect qualityInspect = new QualityInspect();
+ qualityInspect.setInspectType(0);
+ qualityInspect.setSupplier(purchaseLedger.getSupplierName());
+ qualityInspect.setPurchaseLedgerId(purchaseLedger.getId());
+ qualityInspect.setProductId(saleProduct.getProductId());
+ qualityInspect.setProductName(saleProduct.getProductCategory());
+ qualityInspect.setModel(saleProduct.getSpecificationModel());
+ qualityInspect.setProductModelId(saleProduct.getProductModelId());
+ qualityInspect.setUnit(saleProduct.getUnit());
+ qualityInspect.setQuantity(saleProduct.getQuantity());
+ qualityInspectMapper.insert(qualityInspect);
+ List<QualityTestStandard> qualityTestStandard = qualityTestStandardMapper.getQualityTestStandardByProductId(saleProduct.getProductId(), 0,null);
+ if (qualityTestStandard.size()>0){
+ qualityInspect.setTestStandardId(qualityTestStandard.get(0).getId());
+ qualityInspectMapper.updateById(qualityInspect);
+ qualityTestStandardParamMapper.selectList(Wrappers.<QualityTestStandardParam>lambdaQuery()
+ .eq(QualityTestStandardParam::getTestStandardId,qualityTestStandard.get(0).getId()))
+ .forEach(qualityTestStandardParam -> {
+ QualityInspectParam param = new QualityInspectParam();
+ com.ruoyi.common.utils.bean.BeanUtils.copyProperties(qualityTestStandardParam, param);
+ param.setId(null);
+ param.setInspectId(qualityInspect.getId());
+ qualityInspectParamMapper.insert(param);
+ });
+ }
+ }
+
}
diff --git a/src/main/java/com/ruoyi/basic/service/impl/CustomerFollowUpFileServiceImpl.java b/src/main/java/com/ruoyi/basic/service/impl/CustomerFollowUpFileServiceImpl.java
index 1cc612d..cb915c4 100644
--- a/src/main/java/com/ruoyi/basic/service/impl/CustomerFollowUpFileServiceImpl.java
+++ b/src/main/java/com/ruoyi/basic/service/impl/CustomerFollowUpFileServiceImpl.java
@@ -2,15 +2,14 @@
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.common.collect.Lists;
import com.ruoyi.basic.mapper.CustomerFollowUpFileMapper;
import com.ruoyi.basic.pojo.CustomerFollowUpFile;
import com.ruoyi.basic.service.CustomerFollowUpFileService;
-import com.ruoyi.basic.service.CustomerFollowUpService;
import com.ruoyi.common.vo.SimpleFileVo;
import lombok.RequiredArgsConstructor;
-import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import java.util.*;
@@ -31,9 +30,7 @@
@RequiredArgsConstructor
public class CustomerFollowUpFileServiceImpl extends ServiceImpl<CustomerFollowUpFileMapper, CustomerFollowUpFile> implements CustomerFollowUpFileService {
- @Lazy
- private final CustomerFollowUpService customerFollowUpService;
-
+ private final CustomerFollowUpFileMapper customerFollowUpFileMapper;
@Override
public <T> void fillAttachment(List<T> list, Function<T, String> getAttachmentIds, BiConsumer<T, List<SimpleFileVo>> setAttachmentList) {
@@ -50,7 +47,7 @@
List<CustomerFollowUpFile> followUpFilesByIds = new ArrayList<>();
Lists.partition(Lists.newArrayList(ids), 999).forEach(it -> {
followUpFilesByIds.addAll(
- customerFollowUpService.getFollowUpFilesByIds(it)
+ getFollowUpFilesByIds(it)
);
});
if (CollUtil.isEmpty(followUpFilesByIds)) {
@@ -72,4 +69,15 @@
}
});
}
+
+ private List<CustomerFollowUpFile> getFollowUpFilesByIds(Collection<Long> fileIds) {
+ if (fileIds == null || fileIds.isEmpty()) {
+ return new ArrayList<>(0);
+ }
+
+ LambdaQueryWrapper<CustomerFollowUpFile> queryWrapper = new LambdaQueryWrapper<>();
+ queryWrapper.in(CustomerFollowUpFile::getId, fileIds)
+ .select(CustomerFollowUpFile::getId, CustomerFollowUpFile::getFileUrl, CustomerFollowUpFile::getFileName);
+ return customerFollowUpFileMapper.selectList(queryWrapper);
+ }
}
diff --git a/src/main/java/com/ruoyi/basic/service/impl/CustomerPrivateServiceImpl.java b/src/main/java/com/ruoyi/basic/service/impl/CustomerPrivateServiceImpl.java
index ae0ab05..4521155 100644
--- a/src/main/java/com/ruoyi/basic/service/impl/CustomerPrivateServiceImpl.java
+++ b/src/main/java/com/ruoyi/basic/service/impl/CustomerPrivateServiceImpl.java
@@ -49,7 +49,6 @@
private final SalesLedgerMapper salesLedgerMapper;
private final CustomerPrivateMapper customerPrivateMapper;
- private final CustomerPrivateService customerPrivateService;
@Override
@@ -89,7 +88,7 @@
@Override
public R importData(MultipartFile file) {
try {
- List<CustomerPrivate> existingList = customerPrivateService.list();
+ List<CustomerPrivate> existingList = customerPrivateMapper.selectList(null);
java.util.Set<String> existingCustomerNames = existingList.stream()
.map(CustomerPrivate::getCustomerName)
.collect(Collectors.toSet());
diff --git a/src/main/java/com/ruoyi/basic/service/impl/ReturnVisitReminderService.java b/src/main/java/com/ruoyi/basic/service/impl/ReturnVisitReminderService.java
index 8f5f604..6139b9b 100644
--- a/src/main/java/com/ruoyi/basic/service/impl/ReturnVisitReminderService.java
+++ b/src/main/java/com/ruoyi/basic/service/impl/ReturnVisitReminderService.java
@@ -1,7 +1,7 @@
package com.ruoyi.basic.service.impl;
+import com.ruoyi.basic.mapper.CustomerReturnVisitMapper;
import com.ruoyi.basic.pojo.CustomerReturnVisit;
-import com.ruoyi.basic.service.CustomerReturnVisitService;
import com.ruoyi.framework.redis.RedisCache;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -27,11 +27,11 @@
private final RedisCache redisCache;
- private final CustomerReturnVisitService customerReturnVisitService;
+ private final CustomerReturnVisitMapper customerReturnVisitMapper;
@SuppressWarnings("unchecked")
public void scheduleReminder(Long returnVisitId) {
- CustomerReturnVisit returnVisit = customerReturnVisitService.getById(returnVisitId);
+ CustomerReturnVisit returnVisit = customerReturnVisitMapper.selectById(returnVisitId);
if (returnVisit == null || returnVisit.getIsEnabled() == 0) {
return;
}
diff --git a/src/main/java/com/ruoyi/project/common/CaptchaController.java b/src/main/java/com/ruoyi/project/common/CaptchaController.java
index ef2f5fb..40255cb 100644
--- a/src/main/java/com/ruoyi/project/common/CaptchaController.java
+++ b/src/main/java/com/ruoyi/project/common/CaptchaController.java
@@ -10,7 +10,7 @@
import com.ruoyi.project.system.service.ISysConfigService;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletResponse;
-import lombok.AllArgsConstructor;
+import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.util.FastByteArrayOutputStream;
import org.springframework.web.bind.annotation.GetMapping;
@@ -27,7 +27,7 @@
* @author ruoyi
*/
@RestController
-@AllArgsConstructor
+@RequiredArgsConstructor
public class CaptchaController
{
@Resource(name = "captchaProducer")
@@ -36,13 +36,13 @@
@Resource(name = "captchaProducerMath")
private Producer captchaProducerMath;
- private RedisCache redisCache;
+ private final RedisCache redisCache;
// 楠岃瘉鐮佺被鍨�
@Value("${ruoyi.captchaType}")
private String captchaType;
- private ISysConfigService configService;
+ private final ISysConfigService configService;
/**
* 鐢熸垚楠岃瘉鐮�
diff --git a/src/main/java/com/ruoyi/projectManagement/service/impl/PlanServiceImpl.java b/src/main/java/com/ruoyi/projectManagement/service/impl/PlanServiceImpl.java
index 8abcd29..5c8b7c6 100644
--- a/src/main/java/com/ruoyi/projectManagement/service/impl/PlanServiceImpl.java
+++ b/src/main/java/com/ruoyi/projectManagement/service/impl/PlanServiceImpl.java
@@ -16,6 +16,7 @@
import com.ruoyi.projectManagement.vo.*;
import lombok.RequiredArgsConstructor;
import org.jetbrains.annotations.Nullable;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -41,7 +42,8 @@
private final PlanNodeMapper planNodeMapper;
@Lazy
- private final PlanService planService;
+ @Autowired
+ private PlanService planService;
@Override
@Transactional(rollbackFor = Exception.class)
diff --git a/src/main/java/com/ruoyi/projectManagement/service/impl/handle/InfoStageHandleService.java b/src/main/java/com/ruoyi/projectManagement/service/impl/handle/InfoStageHandleService.java
index 31e5497..55a9065 100644
--- a/src/main/java/com/ruoyi/projectManagement/service/impl/handle/InfoStageHandleService.java
+++ b/src/main/java/com/ruoyi/projectManagement/service/impl/handle/InfoStageHandleService.java
@@ -17,6 +17,7 @@
import com.ruoyi.projectManagement.vo.SaveInfoStageVo;
import jakarta.validation.constraints.NotNull;
import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
@@ -37,7 +38,8 @@
private final InfoHandleService infoHandleService;
private final CustomerFollowUpFileService customerFollowUpFileService;
@Lazy
- private final InfoStageHandleService infoStageHandleService;
+ @Autowired
+ private InfoStageHandleService infoStageHandleService;
@Transactional
public void save(@NotNull SaveInfoStageVo saveInfoStageVo) {
diff --git a/src/main/java/com/ruoyi/purchase/service/IPurchaseLedgerService.java b/src/main/java/com/ruoyi/purchase/service/IPurchaseLedgerService.java
index 34d19b3..d09050e 100644
--- a/src/main/java/com/ruoyi/purchase/service/IPurchaseLedgerService.java
+++ b/src/main/java/com/ruoyi/purchase/service/IPurchaseLedgerService.java
@@ -7,9 +7,9 @@
import com.ruoyi.purchase.dto.PurchaseLedgerDto;
import com.ruoyi.purchase.pojo.PurchaseLedger;
import com.ruoyi.sales.pojo.InvoiceRegistrationProduct;
+import com.ruoyi.sales.pojo.SalesLedgerProduct;
import org.springframework.web.multipart.MultipartFile;
-import java.io.IOException;
import java.util.List;
/**
@@ -24,6 +24,8 @@
int addOrEditPurchase(PurchaseLedgerDto purchaseLedgerDto) throws Exception;
+ void addQualityInspect(PurchaseLedger purchaseLedger, SalesLedgerProduct saleProduct);
+
int deletePurchaseLedgerByIds(Long[] ids);
PurchaseLedgerDto getPurchaseById(PurchaseLedgerDto purchaseLedgerDto);
--
Gitblit v1.9.3