From dcd1aab9b5bec2556161c16bd1bc4fe71fef476d Mon Sep 17 00:00:00 2001
From: huminmin <mac@MacBook-Pro.local>
Date: 星期一, 08 六月 2026 17:17:47 +0800
Subject: [PATCH] 关于社保补缴的计算,如果社保保险设置有多条数据,根据创建时间来判断,当月即以后得参考标准用对应的配置,并且需要统计当年从1月到现在缴纳的所有社保金额,和最新的社保比列得出的金额进行比较,计算需要补缴的金额,只有社会保险设置新增一条数据的当月会计算,其余月份对应的都是0
---
src/main/java/com/ruoyi/stock/service/impl/StockInRecordServiceImpl.java | 24 ++++++++++++++++++++++++
1 files changed, 24 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/ruoyi/stock/service/impl/StockInRecordServiceImpl.java b/src/main/java/com/ruoyi/stock/service/impl/StockInRecordServiceImpl.java
index 2436940..e0aa340 100644
--- a/src/main/java/com/ruoyi/stock/service/impl/StockInRecordServiceImpl.java
+++ b/src/main/java/com/ruoyi/stock/service/impl/StockInRecordServiceImpl.java
@@ -36,6 +36,7 @@
import org.springframework.util.CollectionUtils;
import java.math.BigDecimal;
+import java.math.RoundingMode;
import java.util.List;
@Service
@@ -231,6 +232,7 @@
final BigDecimal finalStockInNum;
if (item.getStockInNum() != null && item.getStockInNum().compareTo(BigDecimal.ZERO) > 0) {
finalStockInNum = item.getStockInNum();
+ adjustPurchaseInboundAuditFields(stockInRecord, finalStockInNum);
// 鏇存柊鍏ュ簱璁板綍鐨勫叆搴撴暟閲�
stockInRecord.setStockInNum(finalStockInNum);
} else {
@@ -296,6 +298,28 @@
return items.size();
}
+ private void adjustPurchaseInboundAuditFields(StockInRecord stockInRecord, BigDecimal finalStockInNum) {
+ if (stockInRecord == null || finalStockInNum == null) {
+ return;
+ }
+ if (!StockInQualifiedRecordTypeEnum.PURCHASE_STOCK_IN.getCode().equals(stockInRecord.getRecordType())) {
+ return;
+ }
+ BigDecimal theoryStockInNum = stockInRecord.getTheoryStockInNum();
+ if (theoryStockInNum == null || theoryStockInNum.compareTo(BigDecimal.ZERO) <= 0) {
+ return;
+ }
+ if (finalStockInNum.compareTo(theoryStockInNum) > 0) {
+ throw new BaseException("閲囪喘鍏ュ簱瀹℃牳鏃讹紝瀹為檯鍏ュ簱鏁伴噺涓嶈兘澶т簬鐞嗚鍏ュ簱鏁伴噺");
+ }
+ if (Boolean.TRUE.equals(stockInRecord.getIsContainsWater())) {
+ BigDecimal waterContent = theoryStockInNum.subtract(finalStockInNum)
+ .multiply(new BigDecimal("100"))
+ .divide(theoryStockInNum, 4, RoundingMode.HALF_UP);
+ stockInRecord.setWaterContent(waterContent);
+ }
+ }
+
private static @NonNull StockInventoryDto getStockInventoryDto(StockInRecord stockInRecord) {
StockInventoryDto stockInventoryDto = new StockInventoryDto();
stockInventoryDto.setProductModelId(stockInRecord.getProductModelId());
--
Gitblit v1.9.3