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, 46 insertions(+), 51 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 62cb366..671ce23 100644
--- a/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
@@ -191,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. 澶勭悊瀛愯〃鏁版嵁
@@ -235,28 +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.setUnit(saleProduct.getUnit());
- qualityInspect.setQuantity(saleProduct.getQuantity());
- qualityInspectMapper.insert(qualityInspect);
-
- List<QualityTestStandardParam> qualityTestStandardParams = qualityTestStandardParamMapper.selectListByProductId(saleProduct.getProductId());
- if (qualityTestStandardParams.size()>0) {
- qualityTestStandardParams.forEach(standard -> {
- QualityInspectParam param = new QualityInspectParam();
- com.ruoyi.common.utils.bean.BeanUtils.copyProperties(standard, param);
- param.setId(null);
- param.setInspectId(qualityInspect.getId());
- qualityInspectParamMapper.insert(param);
- });
+ //鏄惁鎺ㄩ�佽川妫�锛屽鏋渢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()) {
@@ -333,6 +319,9 @@
LocalDateTime localDateTime = entryDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();
salesLedgerProduct.setRegisterDate(localDateTime);
+ salesLedgerProduct.setFutureTickets(salesLedgerProduct.getQuantity());
+ salesLedgerProduct.setFutureTicketsAmount(salesLedgerProduct.getTaxInclusiveTotalPrice());
+ salesLedgerProduct.setPendingTicketsTotal(salesLedgerProduct.getTaxInclusiveTotalPrice());
salesLedgerProductMapper.insert(salesLedgerProduct);
}
}
@@ -425,6 +414,7 @@
}
@Override
+ @Transactional(rollbackFor = Exception.class)
public int deletePurchaseLedgerByIds(Long[] ids) {
if (ids == null || ids.length == 0) {
throw new BaseException("璇烽�変腑鑷冲皯涓�鏉℃暟鎹�");
@@ -436,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<>();
@@ -450,6 +440,11 @@
LambdaQueryWrapper<QualityInspect> materialInspectLambdaQueryWrapper = new LambdaQueryWrapper<>();
materialInspectLambdaQueryWrapper.in(QualityInspect::getPurchaseLedgerId, ids);
List<QualityInspect> qualityInspects = qualityInspectMapper.selectList(materialInspectLambdaQueryWrapper);
+ qualityInspects.stream().forEach(qualityInspect -> {
+ if (ObjectUtils.isNotEmpty(qualityInspect.getInspectState())&&qualityInspect.getInspectState().equals(1)) {
+ throw new BaseException("宸叉彁浜ょ殑妫�楠屽崟涓嶈兘鍒犻櫎");
+ }
+ });
List<Long> inspectIds = qualityInspects.stream()
.map(QualityInspect::getId)
.collect(Collectors.toList());
--
Gitblit v1.9.3