From f25369ff160772b7e866462cb10dda799d27e9fb Mon Sep 17 00:00:00 2001
From: buhuazhen <hua100783@gmail.com>
Date: 星期一, 27 四月 2026 16:54:59 +0800
Subject: [PATCH] feat(productOrder): 修复自动生成订单编号序号
---
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java | 30 ++++++++++++++++++++++++------
1 files changed, 24 insertions(+), 6 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 8b84e12..165c6c9 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
@@ -1,11 +1,14 @@
package com.ruoyi.sales.service.impl;
+import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ruoyi.basic.dto.ProductModelAnticlockwiseDto;
+import com.ruoyi.basic.service.IProductModelService;
import com.ruoyi.common.enums.StockInUnQualifiedRecordTypeEnum;
import com.ruoyi.common.enums.StockOutQualifiedRecordTypeEnum;
import com.ruoyi.framework.web.domain.R;
@@ -84,6 +87,8 @@
private StockInventoryMapper stockInventoryMapper;
@Autowired
private ProductOrderServiceImpl productOrderServiceImpl;
+ @Autowired
+ private IProductModelService productModelService;
@Override
public SalesLedgerProduct selectSalesLedgerProductById(Long id) {
@@ -194,6 +199,16 @@
@Override
@Transactional(rollbackFor = Exception.class)
public int addOrUpdateSalesLedgerProduct(SalesLedgerProduct salesLedgerProduct) {
+ //鍏堟煡璇㈠熀纭�琛ㄦ湁娌℃湁
+ ProductModelAnticlockwiseDto productModelAnticlockwiseDto = new ProductModelAnticlockwiseDto();
+ productModelAnticlockwiseDto.setProductName(salesLedgerProduct.getProductCategory());
+ productModelAnticlockwiseDto.setModel(salesLedgerProduct.getSpecificationModel());
+ productModelAnticlockwiseDto.setUnit(salesLedgerProduct.getUnit());
+ productModelAnticlockwiseDto.setSubUnit(salesLedgerProduct.getUnit());
+ productModelAnticlockwiseDto.setId(salesLedgerProduct.getId());
+ Long l = productModelService.productModelAnticlockwise(productModelAnticlockwiseDto);
+ salesLedgerProduct.setProductModelId(l);
+
// 寰呭洖娆撅紝浠樻
if (salesLedgerProduct.getType().equals(1)) {
salesLedgerProduct.setPendingInvoiceTotal(salesLedgerProduct.getTaxInclusiveTotalPrice().subtract(salesLedgerProduct.getInvoiceTotal()));
@@ -265,7 +280,7 @@
productOrder.setSalesLedgerId(salesLedgerProduct.getSalesLedgerId());
productOrder.setProductModelId(salesLedgerProduct.getProductModelId());
productOrder.setSaleLedgerProductId(salesLedgerProduct.getId());
- String string = productOrderServiceImpl.generateNextOrderByContractNo(LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")), salesLedger.getSalesContractNo());
+ String string = productOrderServiceImpl.generateNextOrderByContractNo(salesLedger.getSalesContractNo());
productOrder.setNpsNo(string);
productOrder.setQuantity(salesLedgerProduct.getQuantity());//闇�姹傛暟閲�
productOrder.setCompleteQuantity(BigDecimal.ZERO);//瀹屾垚鏁伴噺
@@ -286,11 +301,14 @@
//鏂板鐢熶骇璁㈠崟宸ヨ壓璺嚎瀛愯〃
List<ProcessRouteItem> processRouteItems = processRouteItemMapper.selectList(new QueryWrapper<ProcessRouteItem>().lambda().eq(ProcessRouteItem::getRouteId, processRoute.getId()));
- Map<Long, ProductProcess> productProcessMap = productProcessService
- .list(new LambdaQueryWrapper<ProductProcess>().in(ProductProcess::getId, processRouteItems.stream().map(ProcessRouteItem::getProcessId).collect(Collectors.toList())))
- .stream()
- .collect(Collectors.toMap(ProductProcess::getId, productProcess -> productProcess));
+ Map<Long, ProductProcess> productProcessMap = new HashMap<>();
+ if(CollUtil.isNotEmpty(processRouteItems)){
+ productProcessMap = productProcessService
+ .list(new LambdaQueryWrapper<ProductProcess>().in(ProductProcess::getId, processRouteItems.stream().map(ProcessRouteItem::getProcessId).collect(Collectors.toList())))
+ .stream()
+ .collect(Collectors.toMap(ProductProcess::getId, productProcess -> productProcess));
+ }
for (ProcessRouteItem processRouteItem : processRouteItems) {
ProductProcessRouteItem productProcessRouteItem = new ProductProcessRouteItem();
productProcessRouteItem.setProductModelId(processRouteItem.getProductModelId());
@@ -304,7 +322,7 @@
productWorkOrder.setProductProcessRouteItemId(productProcessRouteItem.getId());
productWorkOrder.setProductOrderId(productOrder.getId());
productWorkOrder.setPlanQuantity(salesLedgerProduct.getQuantity());
- productWorkOrder.setWorkOrderNo(productWorkOrderService.generateProductWorkOrder(null, productProcessMap.getOrDefault(productProcessRouteItem.getProcessId(),new ProductProcess()).getName(), productOrder.getNpsNo()));
+ productWorkOrder.setWorkOrderNo(productWorkOrderService.generateProductWorkOrder( productProcessMap.getOrDefault(productProcessRouteItem.getProcessId(),new ProductProcess()).getName(), productOrder.getNpsNo()));
productWorkOrder.setStatus(1);
productWorkOrderMapper.insert(productWorkOrder);
--
Gitblit v1.9.3