fix(sales): 修复销售订单和退货订单的金额计算逻辑- 优化了税率计算方法,确保精度准确
- 修复了邮费金额计算的逻辑错误- 优化了优惠金额分摊的处理逻辑 - 调整了测试代码中的参数
This commit is contained in:
parent
68e1e47828
commit
5942ccab20
|
@ -768,7 +768,7 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity {
|
|||
//根据存货基础档案编码,查询当前存货的税率
|
||||
BdTaxitemsEntity bdTaxitemsEntity1 = queryBdTaxitems(bdInvbasdocEntity.getInvcode());
|
||||
|
||||
String tax = "0." + new BigDecimal(bdTaxitemsEntity1.getTaxratio()).stripTrailingZeros().toPlainString();
|
||||
String tax = new BigDecimal(bdTaxitemsEntity1.getTaxratio()).divide(new BigDecimal(100), 20, BigDecimal.ROUND_HALF_UP).setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString();
|
||||
|
||||
// 如果是海外的店铺,则税率为零
|
||||
String exportVaue = ExportConstant.exportConstant.get(header.getStoreCode());
|
||||
|
@ -1002,7 +1002,7 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity {
|
|||
// memberId = "9387";
|
||||
Assert.notNull(memberId, "TOB销售订单(OFS)表头会员id不能为空,否则无法匹配U8C客商档案!");
|
||||
Assert.state(!"".equals(memberId.trim()), "TOB销售订单(OFS)表头会员id不能为空,否则无法匹配U8C客商档案!");
|
||||
|
||||
|
||||
//如果没有O单据名称,则默认为「销售」
|
||||
if (header2.getSubOrderType() == null || "".equals(header2.getSubOrderType().trim())) {
|
||||
header2.setSubOrderType("SALES");
|
||||
|
|
|
@ -867,7 +867,8 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
|||
// BdInvclEntity bdInvclEntity = queryU8CEntityUtil.queryBdInvbasdocByBdInvcl(bdInvbasdocEntity);
|
||||
// BdCostsubjEntity bdCostsubjEntity = queryU8CEntityUtil.queryBdCostsubj(bdInvclEntity);
|
||||
|
||||
String tax = "0." + new BigDecimal(bdTaxitemsEntity1.getTaxratio()).stripTrailingZeros().toPlainString();
|
||||
String tax = new BigDecimal(bdTaxitemsEntity1.getTaxratio()).divide(new BigDecimal(100), 20, BigDecimal.ROUND_HALF_UP).setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString();
|
||||
|
||||
BigDecimal noriginalcurprice = null;//无税单价
|
||||
BigDecimal noriginalcurmny = null;//无税金额
|
||||
BigDecimal noriginalcurtaxprice = null;//含税单价
|
||||
|
@ -939,12 +940,15 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
|||
} else {
|
||||
saleorderRequestChildrenDto.setVdef7("0");
|
||||
}
|
||||
saleorderRequestChildrenDtoList.add(saleorderRequestChildrenDto);
|
||||
|
||||
//判断是否增加邮费这个存货,accumulatedPostage
|
||||
BigDecimal accumulatedPostage = checkPostageFee(oldValue);
|
||||
//测试:测试
|
||||
accumulatedPostage = new BigDecimal("6");
|
||||
if (accumulatedPostage != null && accumulatedPostage.compareTo(BigDecimal.ZERO) > 0) {
|
||||
//获取「平台运维」对应的税率
|
||||
String tax2 = "0." + new BigDecimal(bdTaxitemsEntity.getTaxratio()).stripTrailingZeros().toPlainString();
|
||||
String tax2 = new BigDecimal(bdTaxitemsEntity.getTaxratio()).divide(new BigDecimal(100), 20, BigDecimal.ROUND_HALF_UP).setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString();
|
||||
BigDecimal noriginalcurprice2 = null;//无税单价
|
||||
BigDecimal noriginalcurmny2 = null;//无税金额
|
||||
BigDecimal noriginalcurtaxprice2 = null;//含税单价
|
||||
|
@ -953,10 +957,10 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
|||
try {
|
||||
//邮费的汇总金额,但是数量永远为1
|
||||
noriginalcurtaxprice2 = accumulatedPostage.setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcurprice2 = noriginalcurtaxprice.divide(new BigDecimal(1).add(new BigDecimal(tax2)), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcurmny2 = noriginalcurprice.multiply(new BigDecimal("1")).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcursummny2 = noriginalcurtaxprice.multiply(new BigDecimal("1")).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcurtaxmny2 = noriginalcursummny.subtract(noriginalcurmny).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcurprice2 = noriginalcurtaxprice2.divide(new BigDecimal(1).add(new BigDecimal(tax2)), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcurmny2 = noriginalcurprice2.multiply(new BigDecimal("1")).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcursummny2 = noriginalcurtaxprice2.multiply(new BigDecimal("1")).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcurtaxmny2 = noriginalcursummny2.subtract(noriginalcurmny2).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
} catch (Exception e) {
|
||||
logger.error("邮费TOC金额计算错误", e);
|
||||
Assert.state(false, "邮费TOC金额计算错误,原因:{}" + e.getMessage());
|
||||
|
@ -993,7 +997,6 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
|||
saleorderRequestChildrenDto2.setVdef7("0");
|
||||
saleorderRequestChildrenDtoList.add(saleorderRequestChildrenDto2);
|
||||
}
|
||||
saleorderRequestChildrenDtoList.add(saleorderRequestChildrenDto);
|
||||
|
||||
//销售订单单据推送到u8c
|
||||
List<SaleorderRequestDto> saleorderRequestDtoList = new ArrayList<>();
|
||||
|
@ -1080,6 +1083,8 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
|||
if (header != null && header.getCode() != null) {
|
||||
code = header.getCode();
|
||||
}
|
||||
//测试
|
||||
// header.setTradeSuccessAt("2024-10-24 14:46:28");
|
||||
if (header != null && header.getTradeSuccessAt() != null) {
|
||||
//TOC以出库日期作为业务日期
|
||||
String tradeSuccessAt = header.getTradeSuccessAt();
|
||||
|
@ -1805,7 +1810,8 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
|||
// BdInvclEntity bdInvclEntity = queryU8CEntityUtil.queryBdInvbasdocByBdInvcl(bdInvbasdocEntity);
|
||||
// BdCostsubjEntity bdCostsubjEntity = queryU8CEntityUtil.queryBdCostsubj(bdInvclEntity);
|
||||
|
||||
String tax = "0." + new BigDecimal(bdTaxitemsEntity1.getTaxratio()).stripTrailingZeros().toPlainString();
|
||||
String tax = new BigDecimal(bdTaxitemsEntity1.getTaxratio()).divide(new BigDecimal(100), 20, BigDecimal.ROUND_HALF_UP).setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString();
|
||||
|
||||
BigDecimal noriginalcurprice = null;//无税单价
|
||||
BigDecimal noriginalcurmny = null;//无税金额
|
||||
BigDecimal noriginalcurtaxprice = null;//含税单价
|
||||
|
@ -1881,6 +1887,8 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
|||
|
||||
//判断是否增加邮费这个存货,accumulatedPostage
|
||||
BigDecimal accumulatedPostage = checkPostageFee(oldValue);
|
||||
//测试
|
||||
// accumulatedPostage = new BigDecimal("6");
|
||||
if (accumulatedPostage != null && accumulatedPostage.compareTo(BigDecimal.ZERO) > 0) {
|
||||
//获取「平台运维」对应的税率
|
||||
String tax2 = "0." + new BigDecimal(bdTaxitemsEntity.getTaxratio()).stripTrailingZeros().toPlainString();
|
||||
|
@ -1892,10 +1900,10 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
|||
try {
|
||||
//邮费的汇总金额,但是数量永远为1
|
||||
noriginalcurtaxprice2 = accumulatedPostage.setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcurprice2 = noriginalcurtaxprice.divide(new BigDecimal(1).add(new BigDecimal(tax2)), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcurmny2 = noriginalcurprice.multiply(new BigDecimal("1")).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcursummny2 = noriginalcurtaxprice.multiply(new BigDecimal("1")).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcurtaxmny2 = noriginalcursummny.subtract(noriginalcurmny).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcurprice2 = noriginalcurtaxprice2.divide(new BigDecimal(1).add(new BigDecimal(tax2)), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcurmny2 = noriginalcurprice2.multiply(new BigDecimal("1")).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcursummny2 = noriginalcurtaxprice2.multiply(new BigDecimal("1")).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcurtaxmny2 = noriginalcursummny2.subtract(noriginalcurmny2).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
} catch (Exception e) {
|
||||
logger.error("邮费TOC金额计算错误", e);
|
||||
Assert.state(false, "邮费TOC金额计算错误,原因:{}" + e.getMessage());
|
||||
|
@ -2010,7 +2018,8 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
|||
List<SaleorderRequestChildrenDto> saleorderRequestChildrenDtoList = new ArrayList<>();
|
||||
saleorderRequestDto.setChildrenvo(saleorderRequestChildrenDtoList);
|
||||
|
||||
String tax = "0." + new BigDecimal(bdTaxitemsEntity1.getTaxratio()).stripTrailingZeros().toPlainString();
|
||||
String tax = new BigDecimal(bdTaxitemsEntity1.getTaxratio()).divide(new BigDecimal(100), 20, BigDecimal.ROUND_HALF_UP).setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString();
|
||||
|
||||
BigDecimal noriginalcurprice = null;//无税单价
|
||||
BigDecimal noriginalcurmny = null;//无税金额
|
||||
BigDecimal noriginalcurtaxprice = null;//含税单价
|
||||
|
@ -2080,9 +2089,11 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
|||
saleorderRequestChildrenDto.setVdef7("0");
|
||||
}
|
||||
saleorderRequestChildrenDtoList.add(saleorderRequestChildrenDto);
|
||||
|
||||
|
||||
//判断是否增加邮费这个存货,accumulatedPostage
|
||||
BigDecimal accumulatedPostage = checkPostageFee(oldValue);
|
||||
//测试
|
||||
// accumulatedPostage = new BigDecimal("6");
|
||||
if (accumulatedPostage != null && accumulatedPostage.compareTo(BigDecimal.ZERO) > 0) {
|
||||
//获取「平台运维」对应的税率
|
||||
String tax2 = "0." + new BigDecimal(bdTaxitemsEntity.getTaxratio()).stripTrailingZeros().toPlainString();
|
||||
|
@ -2094,10 +2105,10 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
|||
try {
|
||||
//邮费的汇总金额,但是数量永远为1
|
||||
noriginalcurtaxprice2 = accumulatedPostage.setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcurprice2 = noriginalcurtaxprice.divide(new BigDecimal(1).add(new BigDecimal(tax2)), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcurmny2 = noriginalcurprice.multiply(new BigDecimal("1")).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcursummny2 = noriginalcurtaxprice.multiply(new BigDecimal("1")).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcurtaxmny2 = noriginalcursummny.subtract(noriginalcurmny).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcurprice2 = noriginalcurtaxprice2.divide(new BigDecimal(1).add(new BigDecimal(tax2)), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcurmny2 = noriginalcurprice2.multiply(new BigDecimal("1")).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcursummny2 = noriginalcurtaxprice2.multiply(new BigDecimal("1")).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcurtaxmny2 = noriginalcursummny2.subtract(noriginalcurmny2).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
} catch (Exception e) {
|
||||
logger.error("邮费TOC金额计算错误", e);
|
||||
Assert.state(false, "邮费TOC金额计算错误,原因:{}" + e.getMessage());
|
||||
|
@ -2134,7 +2145,6 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
|||
saleorderRequestChildrenDto2.setVdef7("0");
|
||||
saleorderRequestChildrenDtoList.add(saleorderRequestChildrenDto2);
|
||||
}
|
||||
saleorderRequestChildrenDtoList.add(saleorderRequestChildrenDto);
|
||||
|
||||
//销售订单单据推送到u8c
|
||||
List<SaleorderRequestDto> saleorderRequestDtoList = new ArrayList<>();
|
||||
|
@ -2894,7 +2904,9 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
|||
com.hzya.frame.ttxofs.dto.ofssalesordersearch.DetailsDto ofsOrderDetail = findOfsOrderDetail(sonDetailsDto);
|
||||
if (ofsOrderDetail != null) {
|
||||
BigDecimal shareTargetFreightDiscounts = ofsOrderDetail.getShareTargetFreightDiscounts();
|
||||
shareTargetFreightTotalDiscounts = shareTargetFreightTotalDiscounts.add(shareTargetFreightDiscounts);
|
||||
if (shareTargetFreightDiscounts != null) {
|
||||
shareTargetFreightTotalDiscounts = shareTargetFreightTotalDiscounts.add(shareTargetFreightDiscounts);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -3011,7 +3023,7 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
|||
BdInvmandocEntity bdInvmandocEntity = new BdInvmandocEntity();
|
||||
bdInvmandocEntity.setPkInvbasdoc(pk_invbasdoc);
|
||||
bdInvmandocEntity.setDataSourceCode(ProfilesActiveConstant.LETS_DATE_SOURCE);
|
||||
List<BdInvmandocEntity> bdInvmandocEntity2 = iBdInvmandocDao.queryBdInvmandocByInvcodeList(bdInvmandocEntity);
|
||||
List<BdInvmandocEntity> bdInvmandocEntity2 = iBdInvmandocDao.query(bdInvmandocEntity);
|
||||
if (bdInvmandocEntity2 == null || bdInvmandocEntity2.size() == 0) {
|
||||
Assert.state(false, "无法查询到所有公司对应的存货管理档案 存货管理档案主键:{}", pk_invbasdoc);
|
||||
}
|
||||
|
|
|
@ -760,7 +760,7 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity {
|
|||
//取对应的售后订单明细,主要是取这个价格
|
||||
RerturnGoodsOrderSearchDetails afterSalesOrder = findAfterSalesOrder(stockinB, ofsRertunOrder1);
|
||||
|
||||
String tax = "0." + new BigDecimal(bdTaxitemsEntity1.getTaxratio()).stripTrailingZeros().toPlainString();
|
||||
String tax = new BigDecimal(bdTaxitemsEntity1.getTaxratio()).divide(new BigDecimal(100), 20, BigDecimal.ROUND_HALF_UP).setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString();
|
||||
|
||||
//查询收支项目
|
||||
// BdInvclEntity bdInvclEntity = queryU8CEntityUtil.queryBdInvbasdocByBdInvcl(bdInvbasdocEntity);
|
||||
|
|
|
@ -679,7 +679,8 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
|
|||
// BdInvclEntity bdInvclEntity = queryU8CEntityUtil.queryBdInvbasdocByBdInvcl(bdInvbasdocEntity);
|
||||
// BdCostsubjEntity bdCostsubjEntity = queryU8CEntityUtil.queryBdCostsubj(bdInvclEntity);
|
||||
|
||||
String tax = "0." + new BigDecimal(bdTaxitemsEntity1.getTaxratio()).stripTrailingZeros().toPlainString();
|
||||
String tax = new BigDecimal(bdTaxitemsEntity1.getTaxratio()).divide(new BigDecimal(100), 20, BigDecimal.ROUND_HALF_UP).setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString();
|
||||
|
||||
BigDecimal noriginalcurprice = null;//无税单价
|
||||
BigDecimal noriginalcurmny = null;//无税金额
|
||||
BigDecimal noriginalcurtaxprice = null;//含税单价
|
||||
|
@ -891,7 +892,8 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
|
|||
// BdInvclEntity bdInvclEntity = queryU8CEntityUtil.queryBdInvbasdocByBdInvcl(bdInvbasdocEntity);
|
||||
// BdCostsubjEntity bdCostsubjEntity = queryU8CEntityUtil.queryBdCostsubj(bdInvclEntity);
|
||||
|
||||
String tax = "0." + new BigDecimal(bdTaxitemsEntity1.getTaxratio()).stripTrailingZeros().toPlainString();
|
||||
String tax = new BigDecimal(bdTaxitemsEntity1.getTaxratio()).divide(new BigDecimal(100), 20, BigDecimal.ROUND_HALF_UP).setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString();
|
||||
|
||||
BigDecimal noriginalcurprice = null;//无税单价
|
||||
BigDecimal noriginalcurmny = null;//无税金额
|
||||
BigDecimal noriginalcurtaxprice = null;//含税单价
|
||||
|
|
|
@ -161,23 +161,31 @@ public class OfsOrderAfterSalesAmountAllocationUtil {
|
|||
//原始优惠金额-sum(分摊金额)
|
||||
BigDecimal subtract = targetPlatformDiscounts.subtract(totalShareTargetPlatformDiscounts);
|
||||
BigDecimal shareTargetPlatformDiscounts1 = rerturnGoodsOrderSearchDetails1.getShareTargetPlatformDiscounts();
|
||||
rerturnGoodsOrderSearchDetails1.setShareTargetPlatformDiscounts(shareTargetPlatformDiscounts1.add(subtract));
|
||||
if (subtract.compareTo(BigDecimal.ZERO) > 0) {
|
||||
rerturnGoodsOrderSearchDetails1.setShareTargetPlatformDiscounts(shareTargetPlatformDiscounts1.add(subtract));
|
||||
}
|
||||
}
|
||||
if (!"0".equals(totalShareTargetMerchantDiscounts.stripTrailingZeros().toPlainString()) && rerturnGoodsOrderSearchDetails1.getShareTargetMerchantDiscounts() != null) {
|
||||
//原始优惠金额-sum(分摊金额)
|
||||
BigDecimal subtract = targetMerchantDiscounts.subtract(totalShareTargetMerchantDiscounts);
|
||||
BigDecimal shareTargetPlatformDiscounts1 = rerturnGoodsOrderSearchDetails1.getShareTargetPlatformDiscounts();
|
||||
rerturnGoodsOrderSearchDetails1.setShareTargetPlatformDiscounts(shareTargetPlatformDiscounts1.add(subtract));
|
||||
BigDecimal shareTargetPlatformDiscounts1 = rerturnGoodsOrderSearchDetails1.getShareTargetMerchantDiscounts();
|
||||
if (subtract.compareTo(BigDecimal.ZERO) > 0) {
|
||||
rerturnGoodsOrderSearchDetails1.setShareTargetMerchantDiscounts(shareTargetPlatformDiscounts1.add(subtract));
|
||||
}
|
||||
}
|
||||
if (!"0".equals(totalShareTargetExpertDiscounts.stripTrailingZeros().toPlainString()) && rerturnGoodsOrderSearchDetails1.getShareTargetExpertDiscounts() != null) {
|
||||
BigDecimal subtract = targetExpertDiscounts.subtract(totalShareTargetExpertDiscounts);
|
||||
BigDecimal shareTargetExpertDiscounts1 = rerturnGoodsOrderSearchDetails1.getShareTargetExpertDiscounts();
|
||||
rerturnGoodsOrderSearchDetails1.setShareTargetExpertDiscounts(shareTargetExpertDiscounts1.add(subtract));
|
||||
if (subtract.compareTo(BigDecimal.ZERO) > 0) {
|
||||
rerturnGoodsOrderSearchDetails1.setShareTargetExpertDiscounts(shareTargetExpertDiscounts1.add(subtract));
|
||||
}
|
||||
}
|
||||
if (!"0".equals(totalShareTargetPayDiscounts.stripTrailingZeros().toPlainString()) && rerturnGoodsOrderSearchDetails1.getShareTargetPayDiscounts() != null) {
|
||||
BigDecimal subtract = targetPayDiscounts.subtract(totalShareTargetPayDiscounts);
|
||||
BigDecimal shareTargetPayDiscounts1 = rerturnGoodsOrderSearchDetails1.getShareTargetPayDiscounts();
|
||||
rerturnGoodsOrderSearchDetails1.setShareTargetPayDiscounts(shareTargetPayDiscounts1.add(subtract));
|
||||
if (subtract.compareTo(BigDecimal.ZERO) > 0) {
|
||||
rerturnGoodsOrderSearchDetails1.setShareTargetPayDiscounts(shareTargetPayDiscounts1.add(subtract));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -155,23 +155,31 @@ public class OfsOrderSaleAmountAllocationUtil {
|
|||
//原始优惠金额-sum(分摊金额)
|
||||
BigDecimal subtract = targetPlatformDiscounts.subtract(totalShareTargetPlatformDiscounts);
|
||||
BigDecimal shareTargetPlatformDiscounts1 = detailsDto.getShareTargetPlatformDiscounts();
|
||||
detailsDto.setShareTargetPlatformDiscounts(shareTargetPlatformDiscounts1.add(subtract));
|
||||
if (subtract.compareTo(BigDecimal.ZERO) > 0) {
|
||||
detailsDto.setShareTargetPlatformDiscounts(shareTargetPlatformDiscounts1.add(subtract));
|
||||
}
|
||||
}
|
||||
if (!"0".equals(totalShareTargetMerchantDiscounts.stripTrailingZeros().toPlainString()) && detailsDto.getShareTargetMerchantDiscounts() != null) {
|
||||
//原始优惠金额-sum(分摊金额)
|
||||
BigDecimal subtract = targetMerchantDiscounts.subtract(totalShareTargetMerchantDiscounts);
|
||||
BigDecimal shareTargetPlatformDiscounts1 = detailsDto.getShareTargetPlatformDiscounts();
|
||||
detailsDto.setShareTargetPlatformDiscounts(shareTargetPlatformDiscounts1.add(subtract));
|
||||
BigDecimal shareTargetPlatformDiscounts1 = detailsDto.getShareTargetMerchantDiscounts();
|
||||
if (subtract.compareTo(BigDecimal.ZERO) > 0) {
|
||||
detailsDto.setShareTargetMerchantDiscounts(shareTargetPlatformDiscounts1.add(subtract));
|
||||
}
|
||||
}
|
||||
if (!"0".equals(totalShareTargetExpertDiscounts.stripTrailingZeros().toPlainString()) && detailsDto.getShareTargetExpertDiscounts() != null) {
|
||||
BigDecimal subtract = targetExpertDiscounts.subtract(totalShareTargetExpertDiscounts);
|
||||
BigDecimal shareTargetExpertDiscounts1 = detailsDto.getShareTargetExpertDiscounts();
|
||||
detailsDto.setShareTargetExpertDiscounts(shareTargetExpertDiscounts1.add(subtract));
|
||||
if (subtract.compareTo(BigDecimal.ZERO) > 0) {
|
||||
detailsDto.setShareTargetExpertDiscounts(shareTargetExpertDiscounts1.add(subtract));
|
||||
}
|
||||
}
|
||||
if (!"0".equals(totalShareTargetPayDiscounts.stripTrailingZeros().toPlainString()) && detailsDto.getShareTargetPayDiscounts() != null) {
|
||||
BigDecimal subtract = targetPayDiscounts.subtract(totalShareTargetPayDiscounts);
|
||||
BigDecimal shareTargetPayDiscounts1 = detailsDto.getShareTargetPayDiscounts();
|
||||
detailsDto.setShareTargetPayDiscounts(shareTargetPayDiscounts1.add(subtract));
|
||||
if (subtract.compareTo(BigDecimal.ZERO) > 0) {
|
||||
detailsDto.setShareTargetPayDiscounts(shareTargetPayDiscounts1.add(subtract));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -98,7 +98,7 @@ class SoSaleOutPluginInitializerToCTest {
|
|||
try {
|
||||
// soSaleOutPluginInitializerToC.startImplementStockByTime("2024-10-18 00:00:00", "2024-10-18 23:59:59");
|
||||
String code = "LETS-SH2024102100026682";
|
||||
soSaleOutPluginInitializerToC.startImplementStockByCode(code, "stock");
|
||||
soSaleOutPluginInitializerToC.startImplementStockByCode(code, "tran");
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue