From 23b349e9e8ac448b507c3f286483ac06a47e5ea4 Mon Sep 17 00:00:00 2001
From: gongchunyi <deslre0381@gmail.com>
Date: 星期二, 23 六月 2026 11:56:02 +0800
Subject: [PATCH] fix: 额外加工费用可以自定义
---
doc/sales_ledger_add_other_amount.sql | 1 +
src/main/java/com/ruoyi/sales/pojo/SalesLedgerProductProcessBind.java | 4 ++++
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java | 9 ++++++++-
src/main/resources/mapper/sales/SalesLedgerProductProcessBindMapper.xml | 1 +
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductProcessBindServiceImpl.java | 2 ++
src/main/java/com/ruoyi/sales/pojo/SalesLedgerProductProcess.java | 5 +----
6 files changed, 17 insertions(+), 5 deletions(-)
diff --git a/doc/sales_ledger_add_other_amount.sql b/doc/sales_ledger_add_other_amount.sql
new file mode 100644
index 0000000..510e458
--- /dev/null
+++ b/doc/sales_ledger_add_other_amount.sql
@@ -0,0 +1 @@
+ALTER TABLE sales_ledger_product_process_bind ADD COLUMN amount decimal(10,2) COMMENT '閲戦';
diff --git a/src/main/java/com/ruoyi/sales/pojo/SalesLedgerProductProcess.java b/src/main/java/com/ruoyi/sales/pojo/SalesLedgerProductProcess.java
index de0bd6f..9a29144 100644
--- a/src/main/java/com/ruoyi/sales/pojo/SalesLedgerProductProcess.java
+++ b/src/main/java/com/ruoyi/sales/pojo/SalesLedgerProductProcess.java
@@ -12,7 +12,6 @@
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
-import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
@@ -47,6 +46,4 @@
private String code;
private LocalDateTime createTime;
-
-
-}
+}
\ No newline at end of file
diff --git a/src/main/java/com/ruoyi/sales/pojo/SalesLedgerProductProcessBind.java b/src/main/java/com/ruoyi/sales/pojo/SalesLedgerProductProcessBind.java
index 36f4381..d7152b9 100644
--- a/src/main/java/com/ruoyi/sales/pojo/SalesLedgerProductProcessBind.java
+++ b/src/main/java/com/ruoyi/sales/pojo/SalesLedgerProductProcessBind.java
@@ -4,6 +4,8 @@
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;
+import java.math.BigDecimal;
+
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@@ -39,5 +41,7 @@
@ApiModelProperty(value = "鍔犲伐鏁伴噺")
private Integer quantity;
+ @ApiModelProperty(value = "閲戦")
+ private BigDecimal amount;
}
diff --git a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductProcessBindServiceImpl.java b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductProcessBindServiceImpl.java
index 5f67b2f..8948396 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductProcessBindServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductProcessBindServiceImpl.java
@@ -34,8 +34,10 @@
salesLedgerProductProcessBind.setSalesLedgerProductId(salesLedgerProductId);
salesLedgerProductProcessBind.setSalesLedgerProductProcessId(s.getId());
salesLedgerProductProcessBind.setQuantity(s.getQuantity());
+ salesLedgerProductProcessBind.setAmount(s.getUnitPrice());
baseMapper.insert(salesLedgerProductProcessBind);
});
}
}
}
+
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 faaae71..4ed1bed 100644
--- a/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
+++ b/src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -274,8 +274,12 @@
if (!bindList.isEmpty()) {
List<Integer> processIds = bindList.stream().map(SalesLedgerProductProcessBind::getSalesLedgerProductProcessId).collect(Collectors.toList());
Map<Integer, Integer> processQuantityMap = bindList.stream().collect(Collectors.toMap(SalesLedgerProductProcessBind::getSalesLedgerProductProcessId, SalesLedgerProductProcessBind::getQuantity, (a, b) -> a));
+ Map<Integer, BigDecimal> processAmountMap = bindList.stream().collect(Collectors.toMap(SalesLedgerProductProcessBind::getSalesLedgerProductProcessId, SalesLedgerProductProcessBind::getAmount, (a, b) -> a));
List<SalesLedgerProductProcess> processList = salesLedgerProductProcessService.listByIds(processIds);
- processList.forEach(p -> p.setQuantity(processQuantityMap.get(p.getId())));
+ processList.forEach(p -> {
+ p.setQuantity(processQuantityMap.get(p.getId()));
+ if (processAmountMap.get(p.getId()) != null) p.setUnitPrice(processAmountMap.get(p.getId()));
+ });
product.setSalesProductProcessList(processList);
}
ProductModel productModel = productModelMap.get(product.getProductModelId());
@@ -652,6 +656,7 @@
SalesLedgerProductProcess p = new SalesLedgerProductProcess();
p.setId(process.getId());
p.setQuantity(processQty.intValue());
+ p.setUnitPrice(process.getUnitPrice());
processList.add(p);
extraProcessAmountPerPiece = extraProcessAmountPerPiece.add(defaultDecimal(process.getUnitPrice()).multiply(processQty));
}
@@ -3090,6 +3095,7 @@
SalesLedgerProductProcess bind = new SalesLedgerProductProcess();
bind.setId(process.getId());
bind.setQuantity(entry.getValue());
+ bind.setUnitPrice(process.getUnitPrice());
result.add(bind);
}
return result;
@@ -4675,3 +4681,4 @@
}
}
+
diff --git a/src/main/resources/mapper/sales/SalesLedgerProductProcessBindMapper.xml b/src/main/resources/mapper/sales/SalesLedgerProductProcessBindMapper.xml
index fc3b992..1564259 100644
--- a/src/main/resources/mapper/sales/SalesLedgerProductProcessBindMapper.xml
+++ b/src/main/resources/mapper/sales/SalesLedgerProductProcessBindMapper.xml
@@ -8,6 +8,7 @@
<result column="sales_ledger_product_id" property="salesLedgerProductId" />
<result column="sales_ledger_product_process_id" property="salesLedgerProductProcessId" />
<result column="quantity" property="quantity" />
+ <result column="amount" property="amount" />
</resultMap>
</mapper>
--
Gitblit v1.9.3