mirror of
				https://gitee.com/hhyykk/ipms-sjy.git
				synced 2025-10-31 18:28:43 +08:00 
			
		
		
		
	✨ ERP:增加金额计算的四舍五入
This commit is contained in:
		| @@ -13,6 +13,11 @@ import java.math.RoundingMode; | |||||||
|  */ |  */ | ||||||
| public class MoneyUtils { | public class MoneyUtils { | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 金额的小数位数 | ||||||
|  |      */ | ||||||
|  |     private static final int PRICE_SCALE = 2; | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 计算百分比金额,四舍五入 |      * 计算百分比金额,四舍五入 | ||||||
|      * |      * | ||||||
| @@ -86,4 +91,20 @@ public class MoneyUtils { | |||||||
|         return new Money(0, fen).toString(); |         return new Money(0, fen).toString(); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 金额相乘,默认进行四舍五入 | ||||||
|  |      * | ||||||
|  |      * 位数:{@link #PRICE_SCALE} | ||||||
|  |      * | ||||||
|  |      * @param price 金额 | ||||||
|  |      * @param count 数量 | ||||||
|  |      * @return 金额相乘结果 | ||||||
|  |      */ | ||||||
|  |     public static BigDecimal priceMultiply(BigDecimal price, BigDecimal count) { | ||||||
|  |         if (price == null || count == null) { | ||||||
|  |             return null; | ||||||
|  |         } | ||||||
|  |         return price.multiply(count).setScale(PRICE_SCALE, RoundingMode.HALF_UP); | ||||||
|  |     } | ||||||
|  |  | ||||||
| } | } | ||||||
|   | |||||||
| @@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.erp.service.stock; | |||||||
|  |  | ||||||
| import cn.hutool.core.collection.CollUtil; | import cn.hutool.core.collection.CollUtil; | ||||||
| import cn.iocoder.yudao.framework.common.pojo.PageResult; | import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||||||
| import cn.iocoder.yudao.framework.common.util.number.NumberUtils; | import cn.iocoder.yudao.framework.common.util.number.MoneyUtils; | ||||||
| import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | import cn.iocoder.yudao.framework.common.util.object.BeanUtils; | ||||||
| import cn.iocoder.yudao.module.erp.controller.admin.stock.vo.in.ErpStockInPageReqVO; | import cn.iocoder.yudao.module.erp.controller.admin.stock.vo.in.ErpStockInPageReqVO; | ||||||
| import cn.iocoder.yudao.module.erp.controller.admin.stock.vo.in.ErpStockInSaveReqVO; | import cn.iocoder.yudao.module.erp.controller.admin.stock.vo.in.ErpStockInSaveReqVO; | ||||||
| @@ -130,7 +130,7 @@ public class ErpStockInServiceImpl implements ErpStockInService { | |||||||
|         // 2. 转化为 ErpStockInItemDO 列表 |         // 2. 转化为 ErpStockInItemDO 列表 | ||||||
|         return convertList(list, o -> BeanUtils.toBean(o, ErpStockInItemDO.class, item -> item |         return convertList(list, o -> BeanUtils.toBean(o, ErpStockInItemDO.class, item -> item | ||||||
|                 .setProductUnitId(productMap.get(item.getProductId()).getUnitId()) |                 .setProductUnitId(productMap.get(item.getProductId()).getUnitId()) | ||||||
|                 .setTotalPrice(NumberUtils.mul(item.getProductPrice(), item.getCount())))); |                 .setTotalPrice(MoneyUtils.priceMultiply(item.getProductPrice(), item.getCount())))); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     private void updateStockInItemList(Long id, List<ErpStockInItemDO> newList) { |     private void updateStockInItemList(Long id, List<ErpStockInItemDO> newList) { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 YunaiV
					YunaiV