From 99e26030611fdc06ee3dd523072fe5516b78dc5b Mon Sep 17 00:00:00 2001
From: 云 <2163098428@qq.com>
Date: 星期一, 11 五月 2026 13:05:38 +0800
Subject: [PATCH] feat(sales): 添加销售订单和产品相关字段
---
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java | 39 ++++++++++++++++++++++++++++++++++-----
1 files changed, 34 insertions(+), 5 deletions(-)
diff --git a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
index 3a42fc7..d5a383c 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -23,6 +23,9 @@
import com.ruoyi.framework.web.domain.AjaxResult;
import com.ruoyi.other.mapper.TempFileMapper;
import com.ruoyi.other.pojo.TempFile;
+import com.ruoyi.procurementrecord.mapper.ReturnManagementMapper;
+import com.ruoyi.procurementrecord.pojo.ReturnManagement;
+import com.ruoyi.procurementrecord.service.ReturnManagementService;
import com.ruoyi.production.mapper.*;
import com.ruoyi.production.pojo.*;
import com.ruoyi.production.service.ProductionProductMainService;
@@ -98,6 +101,10 @@
private final CommonFileServiceImpl commonFileService;
private final ShippingInfoMapper shippingInfoMapper;
+
+ private final ReturnManagementMapper returnManagementMapper;
+
+ private final ReturnManagementService returnManagementService;
private final InvoiceLedgerMapper invoiceLedgerMapper;
@@ -405,9 +412,19 @@
salesLedgerProduct.setSalesLedgerId(salesLedger.getId());
salesLedgerProduct.setType(1);
// 璁$畻涓嶅惈绋庢�讳环
- salesLedgerProduct.setTaxExclusiveTotalPrice(salesLedgerProduct.getTaxInclusiveTotalPrice().divide(new BigDecimal(1).add(salesLedgerProduct.getTaxRate().divide(new BigDecimal(100))), 2, RoundingMode.HALF_UP));
+ if (salesLedgerProduct.getTaxInclusiveTotalPrice() != null && salesLedgerProduct.getTaxRate() != null) {
+ salesLedgerProduct.setTaxExclusiveTotalPrice(
+ salesLedgerProduct.getTaxInclusiveTotalPrice().divide(
+ new BigDecimal(1).add(salesLedgerProduct.getTaxRate().divide(new BigDecimal(100))),
+ 2,
+ RoundingMode.HALF_UP
+ )
+ );
+ } else {
+ salesLedgerProduct.setTaxExclusiveTotalPrice(salesLedgerProduct.getTaxInclusiveTotalPrice());
+ }
salesLedgerProduct.setNoInvoiceNum(salesLedgerProduct.getQuantity());
- salesLedgerProduct.setNoInvoiceAmount(salesLedgerProduct.getTaxExclusiveTotalPrice());
+ salesLedgerProduct.setNoInvoiceAmount(salesLedgerProduct.getTaxInclusiveTotalPrice());
list.stream()
.filter(map -> map.get("productName").equals(salesLedgerProduct.getProductCategory()) && map.get("model").equals(salesLedgerProduct.getSpecificationModel()))
.findFirst()
@@ -428,7 +445,7 @@
salesLedgerProduct.setRegister(loginUser.getNickName());
salesLedgerProduct.setRegisterDate(LocalDateTime.now());
salesLedgerProduct.setApproveStatus(0);
- salesLedgerProduct.setPendingInvoiceTotal(salesLedgerProductImportDto.getTaxInclusiveTotalPrice());
+ salesLedgerProduct.setPendingInvoiceTotal(salesLedgerProduct.getTaxInclusiveTotalPrice());
salesLedgerProductMapper.insert(salesLedgerProduct);
// 娣诲姞鐢熶骇鏁版嵁
salesLedgerProductServiceImpl.addProductionData(salesLedgerProduct);
@@ -558,8 +575,17 @@
List<ShippingInfo> shippingInfos = shippingInfoMapper.selectList(new LambdaQueryWrapper<ShippingInfo>()
.in(ShippingInfo::getSalesLedgerId, idList));
if (CollectionUtils.isNotEmpty(shippingInfos)) {
- shippingInfoServiceImpl.delete(shippingInfos.stream().map(ShippingInfo::getId).collect(Collectors.toList()));
+ List<Long> shippingIds = shippingInfos.stream().map(ShippingInfo::getId).collect(Collectors.toList());
+ shippingInfoServiceImpl.delete(shippingIds);
+ // 鍒犻櫎閫�璐у彴璐﹁褰�
+ List<ReturnManagement> returnManagements = returnManagementMapper.selectList(new LambdaQueryWrapper<ReturnManagement>()
+ .in(ReturnManagement::getShippingId, shippingIds));
+ if (CollectionUtils.isNotEmpty(returnManagements)) {
+ List<Long> returnIds = returnManagements.stream().map(ReturnManagement::getId).collect(Collectors.toList());
+ returnManagementService.delete(returnIds);
+ }
}
+
// 鍒犻櫎闄勪欢琛�
commonFileService.deleteByBusinessIds(idList, FileNameType.SALE.getValue());
@@ -592,9 +618,12 @@
// 3. 鏂板鎴栨洿鏂颁富琛�
if (salesLedger.getId() == null) {
String contractNo = generateSalesContractNo();
- salesLedger.setSalesContractNo(contractNo);
+ salesLedger.setSalesContractNo(salesLedgerDto.getSalesContractNo() == null ? contractNo : salesLedgerDto.getSalesContractNo());
salesLedgerMapper.insert(salesLedger);
} else {
+ if(StringUtils.isNotEmpty(salesLedgerDto.getSalesContractNo())){
+ salesLedger.setSalesContractNo(salesLedgerDto.getSalesContractNo());
+ }
salesLedgerMapper.updateById(salesLedger);
}
--
Gitblit v1.9.3