From 1493f69da9d12415085c9be7937d4f394c5fb154 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期五, 16 一月 2026 16:12:36 +0800
Subject: [PATCH] Merge branch 'jtwy' into dev_New
---
src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java | 97 +++++++++++++++++++++---------------------------
1 files changed, 43 insertions(+), 54 deletions(-)
diff --git a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
index db90551..671ce23 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
@@ -39,9 +39,11 @@
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.*;
import com.ruoyi.sales.pojo.CommonFile;
import com.ruoyi.sales.pojo.InvoiceRegistrationProduct;
@@ -109,6 +111,7 @@
private final StringRedisTemplate redisTemplate;
private final QualityInspectMapper qualityInspectMapper;
private final QualityTestStandardMapper qualityTestStandardMapper;
+ private final QualityTestStandardParamMapper qualityTestStandardParamMapper;
private final QualityInspectParamMapper qualityInspectParamMapper;
@Value("${file.upload-dir}")
@@ -188,41 +191,11 @@
purchaseLedger.setRecorderId(purchaseLedgerDto.getRecorderId());
purchaseLedger.setRecorderName(sysUser.getNickName());
purchaseLedger.setPhoneNumber(sysUser.getPhonenumber());
- // 2. 澶勭悊璐︽埛鏀跺叆
- AccountExpense accountExpense = new AccountExpense();
- accountExpense.setExpenseDate(purchaseLedger.getEntryDate());
- accountExpense.setExpenseType("0");
- accountExpense.setSupplierName(purchaseLedger.getSupplierName());
- accountExpense.setExpenseMoney(purchaseLedger.getContractAmount());
- accountExpense.setExpenseDescribed("閲囪喘鍚堝悓锛�" + purchaseLedger.getPurchaseContractNumber());
- accountExpense.setExpenseMethod("0");
- accountExpense.setInvoiceNumber(purchaseLedger.getPurchaseContractNumber());
- accountExpense.setInputTime(new Date());
- accountExpense.setInputUser(loginUser.getNickName());
-
-
// 3. 鏂板鎴栨洿鏂颁富琛�
if (purchaseLedger.getId() == null) {
purchaseLedgerMapper.insert(purchaseLedger);
-// accountIncomeService.save(accountIncome);
- accountExpenseService.save(accountExpense);
} else {
purchaseLedgerMapper.updateById(purchaseLedger);
- PurchaseLedger purchaseLedgerDB = purchaseLedgerMapper.selectById(purchaseLedger.getId());
- List<AccountExpense> accountExpenseDBs = accountExpenseService.getByInvoiceNumberList(purchaseLedger.getPurchaseContractNumber());
- if (!CollectionUtils.isEmpty(accountExpenseDBs)) {
- accountExpenseDBs.forEach(accountExpenseDB ->{
- accountExpenseDB.setExpenseDate(purchaseLedgerDB.getEntryDate());
- accountExpenseDB.setExpenseType("0");
- accountExpenseDB.setSupplierName(purchaseLedgerDB.getSupplierName());
- accountExpenseDB.setExpenseMoney(purchaseLedgerDB.getContractAmount());
- accountExpenseDB.setExpenseDescribed("閲囪喘鍚堝悓锛�" + purchaseLedgerDB.getPurchaseContractNumber());
- accountExpenseDB.setExpenseMethod("0");
- accountExpenseDB.setInvoiceNumber(purchaseLedgerDB.getPurchaseContractNumber());
- accountExpenseService.updateById(accountExpenseDB);
- });
- }
-
}
// 4. 澶勭悊瀛愯〃鏁版嵁
@@ -232,30 +205,44 @@
}
//鏂板鍘熸潗鏂欐楠�
for (SalesLedgerProduct saleProduct : productList) {
- QualityInspect qualityInspect = new QualityInspect();
- qualityInspect.setInspectType(0);
- qualityInspect.setSupplier(purchaseLedger.getSupplierName());
- qualityInspect.setPurchaseLedgerId(purchaseLedger.getId());
- qualityInspect.setProductId(saleProduct.getId());
- qualityInspect.setProductName(saleProduct.getProductCategory());
- qualityInspect.setModel(saleProduct.getSpecificationModel());
- qualityInspect.setProductModelId(saleProduct.getProductModelId());
- qualityInspect.setUnit(saleProduct.getUnit());
- qualityInspect.setQuantity(saleProduct.getQuantity());
- qualityInspectMapper.insert(qualityInspect);
- QualityTestStandard qualityTestStandard = new QualityTestStandard();
- qualityTestStandard.setProductId(saleProduct.getProductId());
- List<QualityTestStandard> qualityTestStandards = qualityTestStandardMapper.qualityTestStandardList(qualityTestStandard);
- for (QualityTestStandard qualityTestStandardDB : qualityTestStandards) {
- QualityInspectParam qualityInspectParam = new QualityInspectParam();
- qualityInspectParam.setInspectId(qualityInspect.getId());
- qualityInspectParam.setParameterItem(qualityTestStandardDB.getParameterItem());
- qualityInspectParam.setUnit(qualityTestStandardDB.getUnit());
- qualityInspectParam.setStandardValue(qualityTestStandardDB.getStandardValue());
- qualityInspectParam.setControlValue(qualityTestStandardDB.getControlValue());
- qualityInspectParamMapper.insert(qualityInspectParam);
+ //鏄惁鎺ㄩ�佽川妫�锛屽鏋渢rue灏辨坊鍔�
+ if (saleProduct.getIsChecked()) {
+ addQualityInspect(purchaseLedger, saleProduct);
}
}
+ // 5. 杩佺Щ涓存椂鏂囦欢鍒版寮忕洰褰�
+ if (purchaseLedgerDto.getTempFileIds() != null && !purchaseLedgerDto.getTempFileIds().isEmpty()) {
+ migrateTempFilesToFormal(purchaseLedger.getId(), purchaseLedgerDto.getTempFileIds());
+ }
+
+ return 1;
+ }
+
+ 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.getId());
+ qualityInspect.setProductName(saleProduct.getProductCategory());
+ qualityInspect.setModel(saleProduct.getSpecificationModel());
+ qualityInspect.setProductModelId(saleProduct.getProductModelId());
+ qualityInspect.setUnit(saleProduct.getUnit());
+ qualityInspect.setQuantity(saleProduct.getQuantity());
+ qualityInspectMapper.insert(qualityInspect);
+ QualityTestStandard qualityTestStandard = new QualityTestStandard();
+ qualityTestStandard.setProductId(saleProduct.getProductId());
+ List<QualityTestStandard> qualityTestStandards = qualityTestStandardMapper.qualityTestStandardList(qualityTestStandard);
+ for (QualityTestStandard qualityTestStandardDB : qualityTestStandards) {
+ QualityInspectParam qualityInspectParam = new QualityInspectParam();
+ qualityInspectParam.setInspectId(qualityInspect.getId());
+ qualityInspectParam.setParameterItem(qualityTestStandardDB.getParameterItem());
+ qualityInspectParam.setUnit(qualityTestStandardDB.getUnit());
+ qualityInspectParam.setStandardValue(qualityTestStandardDB.getStandardValue());
+ qualityInspectParam.setControlValue(qualityTestStandardDB.getControlValue());
+ qualityInspectParamMapper.insert(qualityInspectParam);
+ }
+ }
// 5. 杩佺Щ涓存椂鏂囦欢鍒版寮忕洰褰�
if (purchaseLedgerDto.getTempFileIds() != null && !purchaseLedgerDto.getTempFileIds().isEmpty()) {
@@ -334,6 +321,7 @@
salesLedgerProduct.setRegisterDate(localDateTime);
salesLedgerProduct.setFutureTickets(salesLedgerProduct.getQuantity());
salesLedgerProduct.setFutureTicketsAmount(salesLedgerProduct.getTaxInclusiveTotalPrice());
+ salesLedgerProduct.setPendingTicketsTotal(salesLedgerProduct.getTaxInclusiveTotalPrice());
salesLedgerProductMapper.insert(salesLedgerProduct);
}
}
@@ -426,6 +414,7 @@
}
@Override
+ @Transactional(rollbackFor = Exception.class)
public int deletePurchaseLedgerByIds(Long[] ids) {
if (ids == null || ids.length == 0) {
throw new BaseException("璇烽�変腑鑷冲皯涓�鏉℃暟鎹�");
@@ -437,7 +426,7 @@
salesLedgerProductMapper.delete(queryWrapper);
// 鎵归噺鍒犻櫎鍏宠仈鐨勯噰璐彴璐︾殑鏉ョエ鐧昏
LambdaQueryWrapper<TicketRegistration> ticketRegistrationLambdaQueryWrapper = new LambdaQueryWrapper<>();
- ticketRegistrationLambdaQueryWrapper.in(TicketRegistration::getSalesLedgerId,ids);
+ ticketRegistrationLambdaQueryWrapper.in(TicketRegistration::getPurchaseLedgerId,ids);
ticketRegistrationMapper.delete(ticketRegistrationLambdaQueryWrapper);
// 鎵归噺鍒犻櫎鍏宠仈鐨勯噰璐彴璐︾殑鏉ョエ鐧昏璁板綍
LambdaQueryWrapper<ProductRecord> productRecordLambdaQueryWrapper = new LambdaQueryWrapper<>();
@@ -452,7 +441,7 @@
materialInspectLambdaQueryWrapper.in(QualityInspect::getPurchaseLedgerId, ids);
List<QualityInspect> qualityInspects = qualityInspectMapper.selectList(materialInspectLambdaQueryWrapper);
qualityInspects.stream().forEach(qualityInspect -> {
- if (qualityInspect.getInspectState().equals(1)) {
+ if (ObjectUtils.isNotEmpty(qualityInspect.getInspectState())&&qualityInspect.getInspectState().equals(1)) {
throw new BaseException("宸叉彁浜ょ殑妫�楠屽崟涓嶈兘鍒犻櫎");
}
});
--
Gitblit v1.9.3