From 86fc2148b726357e42d8072f7f2f3641411cca5f Mon Sep 17 00:00:00 2001
From: liyong <18434998025@163.com>
Date: 星期日, 04 一月 2026 17:50:44 +0800
Subject: [PATCH] feat(production): 修改
---
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java | 51 +++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 47 insertions(+), 4 deletions(-)
diff --git a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
index 2a288e4..3d51cb0 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
@@ -4,6 +4,14 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.production.mapper.ProcessRouteItemMapper;
+import com.ruoyi.production.mapper.ProcessRouteMapper;
+import com.ruoyi.production.mapper.ProductOrderMapper;
+import com.ruoyi.production.mapper.ProductProcessRouteItemMapper;
+import com.ruoyi.production.pojo.ProcessRoute;
+import com.ruoyi.production.pojo.ProcessRouteItem;
+import com.ruoyi.production.pojo.ProductOrder;
+import com.ruoyi.production.pojo.ProductProcessRouteItem;
import com.ruoyi.purchase.mapper.PurchaseLedgerMapper;
import com.ruoyi.purchase.pojo.PurchaseLedger;
import com.ruoyi.sales.dto.InvoiceRegistrationProductDto;
@@ -42,8 +50,14 @@
private PurchaseLedgerMapper purchaseLedgerMapper;
+ private ProductOrderMapper productOrderMapper;
+
+ private ProcessRouteItemMapper processRouteItemMapper;
+ private ProductProcessRouteItemMapper productProcessRouteItemMapper;
@Autowired
private InvoiceRegistrationProductMapper invoiceRegistrationProductMapper;
+ @Autowired
+ private ProcessRouteMapper processRouteMapper;
@Override
public SalesLedgerProduct selectSalesLedgerProductById(Long id) {
@@ -56,18 +70,18 @@
queryWrapper.eq(SalesLedgerProduct::getSalesLedgerId, salesLedgerProduct.getSalesLedgerId())
.eq(SalesLedgerProduct::getType, salesLedgerProduct.getType());
List<SalesLedgerProduct> salesLedgerProducts = salesLedgerProductMapper.selectList(queryWrapper);
- if(!CollectionUtils.isEmpty(salesLedgerProducts)){
+ if (!CollectionUtils.isEmpty(salesLedgerProducts)) {
InvoiceRegistrationProductDto invoiceRegistrationProductDto = new InvoiceRegistrationProductDto();
invoiceRegistrationProductDto.setSalesLedgerId(salesLedgerProduct.getSalesLedgerId().intValue());
List<InvoiceRegistrationProductDto> invoiceRegistrationProductDtoList = invoiceRegistrationProductMapper.invoiceRegistrationProductList(invoiceRegistrationProductDto);
// 缁熻寮�绁ㄧ櫥璁颁骇鍝佺殑宸插紑绁ㄦ暟/宸插紑绁ㄩ噾棰�
- if(!CollectionUtils.isEmpty(invoiceRegistrationProductDtoList)){
+ if (!CollectionUtils.isEmpty(invoiceRegistrationProductDtoList)) {
for (SalesLedgerProduct ledgerProduct : salesLedgerProducts) {
BigDecimal invoiceNum = BigDecimal.ZERO;
BigDecimal invoiceAmount = BigDecimal.ZERO;
for (InvoiceRegistrationProductDto registrationProductDto : invoiceRegistrationProductDtoList) {
- if(ledgerProduct.getId().intValue() == registrationProductDto.getSalesLedgerProductId()){
- invoiceNum = invoiceNum.add(registrationProductDto.getInvoiceNum());
+ if (ledgerProduct.getId().intValue() == registrationProductDto.getSalesLedgerProductId()) {
+ invoiceNum = invoiceNum.add(registrationProductDto.getInvoiceNum());
invoiceAmount = invoiceAmount.add(registrationProductDto.getInvoiceAmount());
}
}
@@ -101,6 +115,14 @@
// 2. 鎵ц鍒犻櫎鎿嶄綔
int result = salesLedgerProductMapper.deleteBatchIds(Arrays.asList(ids));
+ //鍒犻櫎瀵瑰簲鐨勭敓浜ц鍗�
+ for (Long id : ids) {
+ ProductOrder productOrder = productOrderMapper.selectOne(new LambdaQueryWrapper<ProductOrder>().eq(ProductOrder::getProductModelId, id));
+ if (productOrder != null) {
+ productProcessRouteItemMapper.delete(new LambdaQueryWrapper<ProductProcessRouteItem>().eq(ProductProcessRouteItem::getRouteId, productOrder.getId()));
+ productOrderMapper.delete(new LambdaQueryWrapper<ProductOrder>().eq(ProductOrder::getProductModelId, id));
+ }
+ }
// 3. 瀵规瘡涓富琛↖D杩涜閲戦鏇存柊
for (Long salesLedgerId : mainIds) {
@@ -130,6 +152,27 @@
Long salesLedgerId = salesLedgerProduct.getSalesLedgerId();
if (salesLedgerProduct.getId() == null) {
result = salesLedgerProductMapper.insert(salesLedgerProduct);
+ ProductOrder productOrder = new ProductOrder();
+ productOrder.setSalesLedgerId(salesLedgerProduct.getSalesLedgerId());
+ productOrder.setProductModelId(salesLedgerProduct.getId());
+ productOrder.setNpsNo("SC" + String.format("%08d", salesLedgerProduct.getId()));
+ productOrderMapper.insert(productOrder);
+
+ ProcessRoute processRoute = processRouteMapper.selectOne(new QueryWrapper<ProcessRoute>().lambda().eq(ProcessRoute::getProductModelId, salesLedgerProduct.getProductModelId()));
+ if (processRoute != null) {
+ List<ProcessRouteItem> processRouteItems = processRouteItemMapper.selectList(new QueryWrapper<ProcessRouteItem>().lambda().eq(ProcessRouteItem::getRouteId, processRoute.getId()));
+ for (ProcessRouteItem processRouteItem : processRouteItems) {
+ ProductProcessRouteItem productProcessRouteItem = new ProductProcessRouteItem();
+ productProcessRouteItem.setProductModelId(productOrder.getProductModelId());
+ productProcessRouteItem.setProcessId(processRouteItem.getProcessId());
+ productProcessRouteItem.setRouteId(productOrder.getId());
+ productProcessRouteItemMapper.insert(productProcessRouteItem);
+ }
+ productOrder.setRouteId(processRoute.getId());
+ productOrderMapper.updateById(productOrder);
+ }
+
+
} else {
salesLedgerProduct.setFutureTickets(salesLedgerProduct.getQuantity());
result = salesLedgerProductMapper.updateById(salesLedgerProduct);
--
Gitblit v1.9.3