gongchunyi
2026-06-23 23b349e9e8ac448b507c3f286483ac06a47e5ea4
fix: 额外加工费用可以自定义
已修改5个文件
已添加1个文件
22 ■■■■ 文件已修改
doc/sales_ledger_add_other_amount.sql 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/pojo/SalesLedgerProductProcess.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/pojo/SalesLedgerProductProcessBind.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductProcessBindServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/sales/SalesLedgerProductProcessBindMapper.xml 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
doc/sales_ledger_add_other_amount.sql
对比新文件
@@ -0,0 +1 @@
ALTER TABLE sales_ledger_product_process_bind ADD COLUMN amount decimal(10,2) COMMENT '閲戦';
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;
}
}
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;
}
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);
            });
        }
    }
}
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 @@
    }
}
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>