From 9fa762cf783e2dc3f67b793e34d266dd4d3ec322 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期五, 10 四月 2026 15:58:27 +0800
Subject: [PATCH] feat:1.销售添加是否生产 2.生产订单添加备注
---
src/main/java/com/ruoyi/sales/dto/SalesLedgerDto.java | 4 ++
src/main/java/com/ruoyi/production/controller/ProductOrderController.java | 4 +-
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java | 55 ++++++++++++++-------------
src/main/java/com/ruoyi/sales/pojo/SalesLedger.java | 14 +++++--
src/main/java/com/ruoyi/production/pojo/ProductOrder.java | 6 ++
5 files changed, 50 insertions(+), 33 deletions(-)
diff --git a/src/main/java/com/ruoyi/production/controller/ProductOrderController.java b/src/main/java/com/ruoyi/production/controller/ProductOrderController.java
index 14baf04..baebd18 100644
--- a/src/main/java/com/ruoyi/production/controller/ProductOrderController.java
+++ b/src/main/java/com/ruoyi/production/controller/ProductOrderController.java
@@ -16,7 +16,7 @@
import javax.servlet.http.HttpServletResponse;
import java.util.List;
-@RequestMapping("productOrder")
+@RequestMapping("/productOrder")
@RestController
@Api(tags = "鐢熶骇璁㈠崟")
public class ProductOrderController {
@@ -26,7 +26,7 @@
@ApiOperation("鍒嗛〉鏌ヨ")
- @GetMapping("page")
+ @GetMapping("/page")
public R page(ProductOrderDto productOrder, Page page) {
return R.ok(productOrderService.pageProductOrder(page, productOrder));
}
diff --git a/src/main/java/com/ruoyi/production/pojo/ProductOrder.java b/src/main/java/com/ruoyi/production/pojo/ProductOrder.java
index 8963f24..dca1657 100644
--- a/src/main/java/com/ruoyi/production/pojo/ProductOrder.java
+++ b/src/main/java/com/ruoyi/production/pojo/ProductOrder.java
@@ -113,6 +113,10 @@
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime endTime;
-
+ /**
+ * 澶囨敞
+ */
+ @ApiModelProperty(value = "澶囨敞")
+ private String remark;
}
diff --git a/src/main/java/com/ruoyi/sales/dto/SalesLedgerDto.java b/src/main/java/com/ruoyi/sales/dto/SalesLedgerDto.java
index 78169a0..14377bc 100644
--- a/src/main/java/com/ruoyi/sales/dto/SalesLedgerDto.java
+++ b/src/main/java/com/ruoyi/sales/dto/SalesLedgerDto.java
@@ -13,6 +13,7 @@
@Data
public class SalesLedgerDto {
+
private Long id;
private String salesContractNo;
private String customerContractNo;
@@ -57,4 +58,7 @@
@ApiModelProperty(value = "浜よ揣鏃ユ湡")
private LocalDate deliveryDate;
+
+ @ApiModelProperty(value = "鏄惁鐢熶骇")
+ private boolean produce;
}
diff --git a/src/main/java/com/ruoyi/sales/pojo/SalesLedger.java b/src/main/java/com/ruoyi/sales/pojo/SalesLedger.java
index 1e6cb99..e782991 100644
--- a/src/main/java/com/ruoyi/sales/pojo/SalesLedger.java
+++ b/src/main/java/com/ruoyi/sales/pojo/SalesLedger.java
@@ -1,15 +1,15 @@
package com.ruoyi.sales.pojo;
-import java.math.BigDecimal;
-import java.time.LocalDate;
-import java.util.Date;
-
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.framework.aspectj.lang.annotation.Excel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
+
+import java.math.BigDecimal;
+import java.time.LocalDate;
+import java.util.Date;
/**
* 閿�鍞彴璐﹀璞� sales_ledger
@@ -159,5 +159,11 @@
*/
@TableField(exist = false)
private String contactPhone;
+
+ /**
+ * 鏄惁鐢熶骇
+ */
+ @ApiModelProperty(value = "鏄惁鐢熶骇")
+ private boolean isProduce;
}
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 2e0b507..1e29d05 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -35,7 +35,6 @@
import com.ruoyi.sales.mapper.*;
import com.ruoyi.sales.pojo.*;
import com.ruoyi.sales.service.ISalesLedgerService;
-import com.ruoyi.stock.dto.StockInventoryDto;
import com.ruoyi.stock.mapper.StockInventoryMapper;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -606,7 +605,7 @@
// 4. 澶勭悊瀛愯〃鏁版嵁
List<SalesLedgerProduct> productList = salesLedgerDto.getProductData();
if (productList != null && !productList.isEmpty()) {
- handleSalesLedgerProducts(salesLedger.getId(), productList, salesLedgerDto.getType());
+ handleSalesLedgerProducts(salesLedger.getId(), productList, salesLedgerDto.getType(), salesLedgerDto.isProduce());
updateMainContractAmount(
salesLedger.getId(),
productList,
@@ -704,7 +703,7 @@
}
- private void handleSalesLedgerProducts(Long salesLedgerId, List<SalesLedgerProduct> products, Integer type) {
+ private void handleSalesLedgerProducts(Long salesLedgerId, List<SalesLedgerProduct> products, Integer type, boolean isProduce) {
// 鎸塈D鍒嗙粍锛屽尯鍒嗘柊澧炲拰鏇存柊鐨勮褰�
Map<Boolean, List<SalesLedgerProduct>> partitionedProducts = products.stream()
.peek(p -> p.setSalesLedgerId(salesLedgerId))
@@ -713,26 +712,26 @@
List<SalesLedgerProduct> updateList = partitionedProducts.get(true);
List<SalesLedgerProduct> insertList = partitionedProducts.get(false);
- List<StockInventoryDto> stockInventoryDtos = stockInventoryMapper.selectProductList();
+// List<StockInventoryDto> stockInventoryDtos = stockInventoryMapper.selectProductList();
// 鎵ц鏇存柊鎿嶄綔
if (!updateList.isEmpty()) {
for (SalesLedgerProduct product : updateList) {
- // 鏌ヨ搴撳瓨鏁伴噺
- SalesLedgerProduct oldProduct = salesLedgerProductMapper.selectById(product.getId());
- BigDecimal quantityChange = product.getQuantity().subtract(oldProduct.getQuantity());
-
- // 濡傛灉鏁伴噺澧炲姞浜嗭紝妫�鏌ュ簱瀛�
- if (quantityChange.compareTo(BigDecimal.ZERO) > 0) {
- for (StockInventoryDto stockInventoryDto : stockInventoryDtos) {
- if (stockInventoryDto.getProductId().equals(product.getId())) {
- if (quantityChange.compareTo(stockInventoryDto.getQualitity()) > 0) {
- throw new RuntimeException("搴撳瓨涓嶈冻");
- }
- break;
- }
- }
- }
+// // 鏌ヨ搴撳瓨鏁伴噺
+// SalesLedgerProduct oldProduct = salesLedgerProductMapper.selectById(product.getId());
+// BigDecimal quantityChange = product.getQuantity().subtract(oldProduct.getQuantity());
+//
+// // 濡傛灉鏁伴噺澧炲姞浜嗭紝妫�鏌ュ簱瀛�
+// if (quantityChange.compareTo(BigDecimal.ZERO) > 0) {
+// for (StockInventoryDto stockInventoryDto : stockInventoryDtos) {
+// if (stockInventoryDto.getProductId().equals(product.getId())) {
+// if (quantityChange.compareTo(stockInventoryDto.getQualitity()) > 0) {
+// throw new RuntimeException("搴撳瓨涓嶈冻");
+// }
+// break;
+// }
+// }
+// }
product.setType(type);
salesLedgerProductMapper.updateById(product);
}
@@ -740,18 +739,22 @@
// 鎵ц鎻掑叆鎿嶄綔
if (!insertList.isEmpty()) {
for (SalesLedgerProduct salesLedgerProduct : insertList) {
- for (StockInventoryDto stockInventoryDto : stockInventoryDtos) {
- if (stockInventoryDto.getProductId().equals(salesLedgerProduct.getId())) {
- if (salesLedgerProduct.getQuantity().compareTo(stockInventoryDto.getQualitity()) > 0) {
- throw new RuntimeException("搴撳瓨涓嶈冻");
- }
- }
- }
+// for (StockInventoryDto stockInventoryDto : stockInventoryDtos) {
+// if (stockInventoryDto.getProductId().equals(salesLedgerProduct.getId())) {
+// if (salesLedgerProduct.getQuantity().compareTo(stockInventoryDto.getQualitity()) > 0) {
+// throw new RuntimeException("搴撳瓨涓嶈冻");
+// }
+// }
+// }
salesLedgerProduct.setType(type);
salesLedgerProduct.setNoInvoiceNum(salesLedgerProduct.getQuantity());
salesLedgerProduct.setNoInvoiceAmount(salesLedgerProduct.getTaxInclusiveTotalPrice());
salesLedgerProduct.setPendingInvoiceTotal(salesLedgerProduct.getTaxInclusiveTotalPrice());
salesLedgerProductMapper.insert(salesLedgerProduct);
+ // 娣诲姞鐢熶骇鏁版嵁
+ if (isProduce) {
+ salesLedgerProductServiceImpl.addProductionData(salesLedgerProduct);
+ }
}
}
}
--
Gitblit v1.9.3