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());
|
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());
|
String exportVaue = ExportConstant.exportConstant.get(header.getStoreCode());
|
||||||
|
|
|
@ -867,7 +867,8 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
||||||
// BdInvclEntity bdInvclEntity = queryU8CEntityUtil.queryBdInvbasdocByBdInvcl(bdInvbasdocEntity);
|
// BdInvclEntity bdInvclEntity = queryU8CEntityUtil.queryBdInvbasdocByBdInvcl(bdInvbasdocEntity);
|
||||||
// BdCostsubjEntity bdCostsubjEntity = queryU8CEntityUtil.queryBdCostsubj(bdInvclEntity);
|
// 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 noriginalcurprice = null;//无税单价
|
||||||
BigDecimal noriginalcurmny = null;//无税金额
|
BigDecimal noriginalcurmny = null;//无税金额
|
||||||
BigDecimal noriginalcurtaxprice = null;//含税单价
|
BigDecimal noriginalcurtaxprice = null;//含税单价
|
||||||
|
@ -939,12 +940,15 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
||||||
} else {
|
} else {
|
||||||
saleorderRequestChildrenDto.setVdef7("0");
|
saleorderRequestChildrenDto.setVdef7("0");
|
||||||
}
|
}
|
||||||
|
saleorderRequestChildrenDtoList.add(saleorderRequestChildrenDto);
|
||||||
|
|
||||||
//判断是否增加邮费这个存货,accumulatedPostage
|
//判断是否增加邮费这个存货,accumulatedPostage
|
||||||
BigDecimal accumulatedPostage = checkPostageFee(oldValue);
|
BigDecimal accumulatedPostage = checkPostageFee(oldValue);
|
||||||
|
//测试:测试
|
||||||
|
accumulatedPostage = new BigDecimal("6");
|
||||||
if (accumulatedPostage != null && accumulatedPostage.compareTo(BigDecimal.ZERO) > 0) {
|
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 noriginalcurprice2 = null;//无税单价
|
||||||
BigDecimal noriginalcurmny2 = null;//无税金额
|
BigDecimal noriginalcurmny2 = null;//无税金额
|
||||||
BigDecimal noriginalcurtaxprice2 = null;//含税单价
|
BigDecimal noriginalcurtaxprice2 = null;//含税单价
|
||||||
|
@ -953,10 +957,10 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
||||||
try {
|
try {
|
||||||
//邮费的汇总金额,但是数量永远为1
|
//邮费的汇总金额,但是数量永远为1
|
||||||
noriginalcurtaxprice2 = accumulatedPostage.setScale(2, BigDecimal.ROUND_HALF_UP);
|
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);
|
noriginalcurprice2 = noriginalcurtaxprice2.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);
|
noriginalcurmny2 = noriginalcurprice2.multiply(new BigDecimal("1")).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||||
noriginalcursummny2 = noriginalcurtaxprice.multiply(new BigDecimal("1")).setScale(2, BigDecimal.ROUND_HALF_UP);
|
noriginalcursummny2 = noriginalcurtaxprice2.multiply(new BigDecimal("1")).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||||
noriginalcurtaxmny2 = noriginalcursummny.subtract(noriginalcurmny).setScale(2, BigDecimal.ROUND_HALF_UP);
|
noriginalcurtaxmny2 = noriginalcursummny2.subtract(noriginalcurmny2).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error("邮费TOC金额计算错误", e);
|
logger.error("邮费TOC金额计算错误", e);
|
||||||
Assert.state(false, "邮费TOC金额计算错误,原因:{}" + e.getMessage());
|
Assert.state(false, "邮费TOC金额计算错误,原因:{}" + e.getMessage());
|
||||||
|
@ -993,7 +997,6 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
||||||
saleorderRequestChildrenDto2.setVdef7("0");
|
saleorderRequestChildrenDto2.setVdef7("0");
|
||||||
saleorderRequestChildrenDtoList.add(saleorderRequestChildrenDto2);
|
saleorderRequestChildrenDtoList.add(saleorderRequestChildrenDto2);
|
||||||
}
|
}
|
||||||
saleorderRequestChildrenDtoList.add(saleorderRequestChildrenDto);
|
|
||||||
|
|
||||||
//销售订单单据推送到u8c
|
//销售订单单据推送到u8c
|
||||||
List<SaleorderRequestDto> saleorderRequestDtoList = new ArrayList<>();
|
List<SaleorderRequestDto> saleorderRequestDtoList = new ArrayList<>();
|
||||||
|
@ -1080,6 +1083,8 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
||||||
if (header != null && header.getCode() != null) {
|
if (header != null && header.getCode() != null) {
|
||||||
code = header.getCode();
|
code = header.getCode();
|
||||||
}
|
}
|
||||||
|
//测试
|
||||||
|
// header.setTradeSuccessAt("2024-10-24 14:46:28");
|
||||||
if (header != null && header.getTradeSuccessAt() != null) {
|
if (header != null && header.getTradeSuccessAt() != null) {
|
||||||
//TOC以出库日期作为业务日期
|
//TOC以出库日期作为业务日期
|
||||||
String tradeSuccessAt = header.getTradeSuccessAt();
|
String tradeSuccessAt = header.getTradeSuccessAt();
|
||||||
|
@ -1805,7 +1810,8 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
||||||
// BdInvclEntity bdInvclEntity = queryU8CEntityUtil.queryBdInvbasdocByBdInvcl(bdInvbasdocEntity);
|
// BdInvclEntity bdInvclEntity = queryU8CEntityUtil.queryBdInvbasdocByBdInvcl(bdInvbasdocEntity);
|
||||||
// BdCostsubjEntity bdCostsubjEntity = queryU8CEntityUtil.queryBdCostsubj(bdInvclEntity);
|
// 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 noriginalcurprice = null;//无税单价
|
||||||
BigDecimal noriginalcurmny = null;//无税金额
|
BigDecimal noriginalcurmny = null;//无税金额
|
||||||
BigDecimal noriginalcurtaxprice = null;//含税单价
|
BigDecimal noriginalcurtaxprice = null;//含税单价
|
||||||
|
@ -1881,6 +1887,8 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
||||||
|
|
||||||
//判断是否增加邮费这个存货,accumulatedPostage
|
//判断是否增加邮费这个存货,accumulatedPostage
|
||||||
BigDecimal accumulatedPostage = checkPostageFee(oldValue);
|
BigDecimal accumulatedPostage = checkPostageFee(oldValue);
|
||||||
|
//测试
|
||||||
|
// accumulatedPostage = new BigDecimal("6");
|
||||||
if (accumulatedPostage != null && accumulatedPostage.compareTo(BigDecimal.ZERO) > 0) {
|
if (accumulatedPostage != null && accumulatedPostage.compareTo(BigDecimal.ZERO) > 0) {
|
||||||
//获取「平台运维」对应的税率
|
//获取「平台运维」对应的税率
|
||||||
String tax2 = "0." + new BigDecimal(bdTaxitemsEntity.getTaxratio()).stripTrailingZeros().toPlainString();
|
String tax2 = "0." + new BigDecimal(bdTaxitemsEntity.getTaxratio()).stripTrailingZeros().toPlainString();
|
||||||
|
@ -1892,10 +1900,10 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
||||||
try {
|
try {
|
||||||
//邮费的汇总金额,但是数量永远为1
|
//邮费的汇总金额,但是数量永远为1
|
||||||
noriginalcurtaxprice2 = accumulatedPostage.setScale(2, BigDecimal.ROUND_HALF_UP);
|
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);
|
noriginalcurprice2 = noriginalcurtaxprice2.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);
|
noriginalcurmny2 = noriginalcurprice2.multiply(new BigDecimal("1")).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||||
noriginalcursummny2 = noriginalcurtaxprice.multiply(new BigDecimal("1")).setScale(2, BigDecimal.ROUND_HALF_UP);
|
noriginalcursummny2 = noriginalcurtaxprice2.multiply(new BigDecimal("1")).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||||
noriginalcurtaxmny2 = noriginalcursummny.subtract(noriginalcurmny).setScale(2, BigDecimal.ROUND_HALF_UP);
|
noriginalcurtaxmny2 = noriginalcursummny2.subtract(noriginalcurmny2).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error("邮费TOC金额计算错误", e);
|
logger.error("邮费TOC金额计算错误", e);
|
||||||
Assert.state(false, "邮费TOC金额计算错误,原因:{}" + e.getMessage());
|
Assert.state(false, "邮费TOC金额计算错误,原因:{}" + e.getMessage());
|
||||||
|
@ -2010,7 +2018,8 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
||||||
List<SaleorderRequestChildrenDto> saleorderRequestChildrenDtoList = new ArrayList<>();
|
List<SaleorderRequestChildrenDto> saleorderRequestChildrenDtoList = new ArrayList<>();
|
||||||
saleorderRequestDto.setChildrenvo(saleorderRequestChildrenDtoList);
|
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 noriginalcurprice = null;//无税单价
|
||||||
BigDecimal noriginalcurmny = null;//无税金额
|
BigDecimal noriginalcurmny = null;//无税金额
|
||||||
BigDecimal noriginalcurtaxprice = null;//含税单价
|
BigDecimal noriginalcurtaxprice = null;//含税单价
|
||||||
|
@ -2083,6 +2092,8 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
||||||
|
|
||||||
//判断是否增加邮费这个存货,accumulatedPostage
|
//判断是否增加邮费这个存货,accumulatedPostage
|
||||||
BigDecimal accumulatedPostage = checkPostageFee(oldValue);
|
BigDecimal accumulatedPostage = checkPostageFee(oldValue);
|
||||||
|
//测试
|
||||||
|
// accumulatedPostage = new BigDecimal("6");
|
||||||
if (accumulatedPostage != null && accumulatedPostage.compareTo(BigDecimal.ZERO) > 0) {
|
if (accumulatedPostage != null && accumulatedPostage.compareTo(BigDecimal.ZERO) > 0) {
|
||||||
//获取「平台运维」对应的税率
|
//获取「平台运维」对应的税率
|
||||||
String tax2 = "0." + new BigDecimal(bdTaxitemsEntity.getTaxratio()).stripTrailingZeros().toPlainString();
|
String tax2 = "0." + new BigDecimal(bdTaxitemsEntity.getTaxratio()).stripTrailingZeros().toPlainString();
|
||||||
|
@ -2094,10 +2105,10 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
||||||
try {
|
try {
|
||||||
//邮费的汇总金额,但是数量永远为1
|
//邮费的汇总金额,但是数量永远为1
|
||||||
noriginalcurtaxprice2 = accumulatedPostage.setScale(2, BigDecimal.ROUND_HALF_UP);
|
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);
|
noriginalcurprice2 = noriginalcurtaxprice2.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);
|
noriginalcurmny2 = noriginalcurprice2.multiply(new BigDecimal("1")).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||||
noriginalcursummny2 = noriginalcurtaxprice.multiply(new BigDecimal("1")).setScale(2, BigDecimal.ROUND_HALF_UP);
|
noriginalcursummny2 = noriginalcurtaxprice2.multiply(new BigDecimal("1")).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||||
noriginalcurtaxmny2 = noriginalcursummny.subtract(noriginalcurmny).setScale(2, BigDecimal.ROUND_HALF_UP);
|
noriginalcurtaxmny2 = noriginalcursummny2.subtract(noriginalcurmny2).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error("邮费TOC金额计算错误", e);
|
logger.error("邮费TOC金额计算错误", e);
|
||||||
Assert.state(false, "邮费TOC金额计算错误,原因:{}" + e.getMessage());
|
Assert.state(false, "邮费TOC金额计算错误,原因:{}" + e.getMessage());
|
||||||
|
@ -2134,7 +2145,6 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
||||||
saleorderRequestChildrenDto2.setVdef7("0");
|
saleorderRequestChildrenDto2.setVdef7("0");
|
||||||
saleorderRequestChildrenDtoList.add(saleorderRequestChildrenDto2);
|
saleorderRequestChildrenDtoList.add(saleorderRequestChildrenDto2);
|
||||||
}
|
}
|
||||||
saleorderRequestChildrenDtoList.add(saleorderRequestChildrenDto);
|
|
||||||
|
|
||||||
//销售订单单据推送到u8c
|
//销售订单单据推送到u8c
|
||||||
List<SaleorderRequestDto> saleorderRequestDtoList = new ArrayList<>();
|
List<SaleorderRequestDto> saleorderRequestDtoList = new ArrayList<>();
|
||||||
|
@ -2894,10 +2904,12 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
||||||
com.hzya.frame.ttxofs.dto.ofssalesordersearch.DetailsDto ofsOrderDetail = findOfsOrderDetail(sonDetailsDto);
|
com.hzya.frame.ttxofs.dto.ofssalesordersearch.DetailsDto ofsOrderDetail = findOfsOrderDetail(sonDetailsDto);
|
||||||
if (ofsOrderDetail != null) {
|
if (ofsOrderDetail != null) {
|
||||||
BigDecimal shareTargetFreightDiscounts = ofsOrderDetail.getShareTargetFreightDiscounts();
|
BigDecimal shareTargetFreightDiscounts = ofsOrderDetail.getShareTargetFreightDiscounts();
|
||||||
|
if (shareTargetFreightDiscounts != null) {
|
||||||
shareTargetFreightTotalDiscounts = shareTargetFreightTotalDiscounts.add(shareTargetFreightDiscounts);
|
shareTargetFreightTotalDiscounts = shareTargetFreightTotalDiscounts.add(shareTargetFreightDiscounts);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return shareTargetFreightTotalDiscounts;
|
return shareTargetFreightTotalDiscounts;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3011,7 +3023,7 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
||||||
BdInvmandocEntity bdInvmandocEntity = new BdInvmandocEntity();
|
BdInvmandocEntity bdInvmandocEntity = new BdInvmandocEntity();
|
||||||
bdInvmandocEntity.setPkInvbasdoc(pk_invbasdoc);
|
bdInvmandocEntity.setPkInvbasdoc(pk_invbasdoc);
|
||||||
bdInvmandocEntity.setDataSourceCode(ProfilesActiveConstant.LETS_DATE_SOURCE);
|
bdInvmandocEntity.setDataSourceCode(ProfilesActiveConstant.LETS_DATE_SOURCE);
|
||||||
List<BdInvmandocEntity> bdInvmandocEntity2 = iBdInvmandocDao.queryBdInvmandocByInvcodeList(bdInvmandocEntity);
|
List<BdInvmandocEntity> bdInvmandocEntity2 = iBdInvmandocDao.query(bdInvmandocEntity);
|
||||||
if (bdInvmandocEntity2 == null || bdInvmandocEntity2.size() == 0) {
|
if (bdInvmandocEntity2 == null || bdInvmandocEntity2.size() == 0) {
|
||||||
Assert.state(false, "无法查询到所有公司对应的存货管理档案 存货管理档案主键:{}", pk_invbasdoc);
|
Assert.state(false, "无法查询到所有公司对应的存货管理档案 存货管理档案主键:{}", pk_invbasdoc);
|
||||||
}
|
}
|
||||||
|
|
|
@ -760,7 +760,7 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity {
|
||||||
//取对应的售后订单明细,主要是取这个价格
|
//取对应的售后订单明细,主要是取这个价格
|
||||||
RerturnGoodsOrderSearchDetails afterSalesOrder = findAfterSalesOrder(stockinB, ofsRertunOrder1);
|
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);
|
// BdInvclEntity bdInvclEntity = queryU8CEntityUtil.queryBdInvbasdocByBdInvcl(bdInvbasdocEntity);
|
||||||
|
|
|
@ -679,7 +679,8 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
|
||||||
// BdInvclEntity bdInvclEntity = queryU8CEntityUtil.queryBdInvbasdocByBdInvcl(bdInvbasdocEntity);
|
// BdInvclEntity bdInvclEntity = queryU8CEntityUtil.queryBdInvbasdocByBdInvcl(bdInvbasdocEntity);
|
||||||
// BdCostsubjEntity bdCostsubjEntity = queryU8CEntityUtil.queryBdCostsubj(bdInvclEntity);
|
// 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 noriginalcurprice = null;//无税单价
|
||||||
BigDecimal noriginalcurmny = null;//无税金额
|
BigDecimal noriginalcurmny = null;//无税金额
|
||||||
BigDecimal noriginalcurtaxprice = null;//含税单价
|
BigDecimal noriginalcurtaxprice = null;//含税单价
|
||||||
|
@ -891,7 +892,8 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
|
||||||
// BdInvclEntity bdInvclEntity = queryU8CEntityUtil.queryBdInvbasdocByBdInvcl(bdInvbasdocEntity);
|
// BdInvclEntity bdInvclEntity = queryU8CEntityUtil.queryBdInvbasdocByBdInvcl(bdInvbasdocEntity);
|
||||||
// BdCostsubjEntity bdCostsubjEntity = queryU8CEntityUtil.queryBdCostsubj(bdInvclEntity);
|
// 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 noriginalcurprice = null;//无税单价
|
||||||
BigDecimal noriginalcurmny = null;//无税金额
|
BigDecimal noriginalcurmny = null;//无税金额
|
||||||
BigDecimal noriginalcurtaxprice = null;//含税单价
|
BigDecimal noriginalcurtaxprice = null;//含税单价
|
||||||
|
|
|
@ -161,25 +161,33 @@ public class OfsOrderAfterSalesAmountAllocationUtil {
|
||||||
//原始优惠金额-sum(分摊金额)
|
//原始优惠金额-sum(分摊金额)
|
||||||
BigDecimal subtract = targetPlatformDiscounts.subtract(totalShareTargetPlatformDiscounts);
|
BigDecimal subtract = targetPlatformDiscounts.subtract(totalShareTargetPlatformDiscounts);
|
||||||
BigDecimal shareTargetPlatformDiscounts1 = rerturnGoodsOrderSearchDetails1.getShareTargetPlatformDiscounts();
|
BigDecimal shareTargetPlatformDiscounts1 = rerturnGoodsOrderSearchDetails1.getShareTargetPlatformDiscounts();
|
||||||
|
if (subtract.compareTo(BigDecimal.ZERO) > 0) {
|
||||||
rerturnGoodsOrderSearchDetails1.setShareTargetPlatformDiscounts(shareTargetPlatformDiscounts1.add(subtract));
|
rerturnGoodsOrderSearchDetails1.setShareTargetPlatformDiscounts(shareTargetPlatformDiscounts1.add(subtract));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (!"0".equals(totalShareTargetMerchantDiscounts.stripTrailingZeros().toPlainString()) && rerturnGoodsOrderSearchDetails1.getShareTargetMerchantDiscounts() != null) {
|
if (!"0".equals(totalShareTargetMerchantDiscounts.stripTrailingZeros().toPlainString()) && rerturnGoodsOrderSearchDetails1.getShareTargetMerchantDiscounts() != null) {
|
||||||
//原始优惠金额-sum(分摊金额)
|
//原始优惠金额-sum(分摊金额)
|
||||||
BigDecimal subtract = targetMerchantDiscounts.subtract(totalShareTargetMerchantDiscounts);
|
BigDecimal subtract = targetMerchantDiscounts.subtract(totalShareTargetMerchantDiscounts);
|
||||||
BigDecimal shareTargetPlatformDiscounts1 = rerturnGoodsOrderSearchDetails1.getShareTargetPlatformDiscounts();
|
BigDecimal shareTargetPlatformDiscounts1 = rerturnGoodsOrderSearchDetails1.getShareTargetMerchantDiscounts();
|
||||||
rerturnGoodsOrderSearchDetails1.setShareTargetPlatformDiscounts(shareTargetPlatformDiscounts1.add(subtract));
|
if (subtract.compareTo(BigDecimal.ZERO) > 0) {
|
||||||
|
rerturnGoodsOrderSearchDetails1.setShareTargetMerchantDiscounts(shareTargetPlatformDiscounts1.add(subtract));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (!"0".equals(totalShareTargetExpertDiscounts.stripTrailingZeros().toPlainString()) && rerturnGoodsOrderSearchDetails1.getShareTargetExpertDiscounts() != null) {
|
if (!"0".equals(totalShareTargetExpertDiscounts.stripTrailingZeros().toPlainString()) && rerturnGoodsOrderSearchDetails1.getShareTargetExpertDiscounts() != null) {
|
||||||
BigDecimal subtract = targetExpertDiscounts.subtract(totalShareTargetExpertDiscounts);
|
BigDecimal subtract = targetExpertDiscounts.subtract(totalShareTargetExpertDiscounts);
|
||||||
BigDecimal shareTargetExpertDiscounts1 = rerturnGoodsOrderSearchDetails1.getShareTargetExpertDiscounts();
|
BigDecimal shareTargetExpertDiscounts1 = rerturnGoodsOrderSearchDetails1.getShareTargetExpertDiscounts();
|
||||||
|
if (subtract.compareTo(BigDecimal.ZERO) > 0) {
|
||||||
rerturnGoodsOrderSearchDetails1.setShareTargetExpertDiscounts(shareTargetExpertDiscounts1.add(subtract));
|
rerturnGoodsOrderSearchDetails1.setShareTargetExpertDiscounts(shareTargetExpertDiscounts1.add(subtract));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (!"0".equals(totalShareTargetPayDiscounts.stripTrailingZeros().toPlainString()) && rerturnGoodsOrderSearchDetails1.getShareTargetPayDiscounts() != null) {
|
if (!"0".equals(totalShareTargetPayDiscounts.stripTrailingZeros().toPlainString()) && rerturnGoodsOrderSearchDetails1.getShareTargetPayDiscounts() != null) {
|
||||||
BigDecimal subtract = targetPayDiscounts.subtract(totalShareTargetPayDiscounts);
|
BigDecimal subtract = targetPayDiscounts.subtract(totalShareTargetPayDiscounts);
|
||||||
BigDecimal shareTargetPayDiscounts1 = rerturnGoodsOrderSearchDetails1.getShareTargetPayDiscounts();
|
BigDecimal shareTargetPayDiscounts1 = rerturnGoodsOrderSearchDetails1.getShareTargetPayDiscounts();
|
||||||
|
if (subtract.compareTo(BigDecimal.ZERO) > 0) {
|
||||||
rerturnGoodsOrderSearchDetails1.setShareTargetPayDiscounts(shareTargetPayDiscounts1.add(subtract));
|
rerturnGoodsOrderSearchDetails1.setShareTargetPayDiscounts(shareTargetPayDiscounts1.add(subtract));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//拷贝回到原始的集合
|
//拷贝回到原始的集合
|
||||||
copyDetailsDtoOld(rerturnGoodsOrderSearchDetails, detailsOld);
|
copyDetailsDtoOld(rerturnGoodsOrderSearchDetails, detailsOld);
|
||||||
|
|
|
@ -155,25 +155,33 @@ public class OfsOrderSaleAmountAllocationUtil {
|
||||||
//原始优惠金额-sum(分摊金额)
|
//原始优惠金额-sum(分摊金额)
|
||||||
BigDecimal subtract = targetPlatformDiscounts.subtract(totalShareTargetPlatformDiscounts);
|
BigDecimal subtract = targetPlatformDiscounts.subtract(totalShareTargetPlatformDiscounts);
|
||||||
BigDecimal shareTargetPlatformDiscounts1 = detailsDto.getShareTargetPlatformDiscounts();
|
BigDecimal shareTargetPlatformDiscounts1 = detailsDto.getShareTargetPlatformDiscounts();
|
||||||
|
if (subtract.compareTo(BigDecimal.ZERO) > 0) {
|
||||||
detailsDto.setShareTargetPlatformDiscounts(shareTargetPlatformDiscounts1.add(subtract));
|
detailsDto.setShareTargetPlatformDiscounts(shareTargetPlatformDiscounts1.add(subtract));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (!"0".equals(totalShareTargetMerchantDiscounts.stripTrailingZeros().toPlainString()) && detailsDto.getShareTargetMerchantDiscounts() != null) {
|
if (!"0".equals(totalShareTargetMerchantDiscounts.stripTrailingZeros().toPlainString()) && detailsDto.getShareTargetMerchantDiscounts() != null) {
|
||||||
//原始优惠金额-sum(分摊金额)
|
//原始优惠金额-sum(分摊金额)
|
||||||
BigDecimal subtract = targetMerchantDiscounts.subtract(totalShareTargetMerchantDiscounts);
|
BigDecimal subtract = targetMerchantDiscounts.subtract(totalShareTargetMerchantDiscounts);
|
||||||
BigDecimal shareTargetPlatformDiscounts1 = detailsDto.getShareTargetPlatformDiscounts();
|
BigDecimal shareTargetPlatformDiscounts1 = detailsDto.getShareTargetMerchantDiscounts();
|
||||||
detailsDto.setShareTargetPlatformDiscounts(shareTargetPlatformDiscounts1.add(subtract));
|
if (subtract.compareTo(BigDecimal.ZERO) > 0) {
|
||||||
|
detailsDto.setShareTargetMerchantDiscounts(shareTargetPlatformDiscounts1.add(subtract));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (!"0".equals(totalShareTargetExpertDiscounts.stripTrailingZeros().toPlainString()) && detailsDto.getShareTargetExpertDiscounts() != null) {
|
if (!"0".equals(totalShareTargetExpertDiscounts.stripTrailingZeros().toPlainString()) && detailsDto.getShareTargetExpertDiscounts() != null) {
|
||||||
BigDecimal subtract = targetExpertDiscounts.subtract(totalShareTargetExpertDiscounts);
|
BigDecimal subtract = targetExpertDiscounts.subtract(totalShareTargetExpertDiscounts);
|
||||||
BigDecimal shareTargetExpertDiscounts1 = detailsDto.getShareTargetExpertDiscounts();
|
BigDecimal shareTargetExpertDiscounts1 = detailsDto.getShareTargetExpertDiscounts();
|
||||||
|
if (subtract.compareTo(BigDecimal.ZERO) > 0) {
|
||||||
detailsDto.setShareTargetExpertDiscounts(shareTargetExpertDiscounts1.add(subtract));
|
detailsDto.setShareTargetExpertDiscounts(shareTargetExpertDiscounts1.add(subtract));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if (!"0".equals(totalShareTargetPayDiscounts.stripTrailingZeros().toPlainString()) && detailsDto.getShareTargetPayDiscounts() != null) {
|
if (!"0".equals(totalShareTargetPayDiscounts.stripTrailingZeros().toPlainString()) && detailsDto.getShareTargetPayDiscounts() != null) {
|
||||||
BigDecimal subtract = targetPayDiscounts.subtract(totalShareTargetPayDiscounts);
|
BigDecimal subtract = targetPayDiscounts.subtract(totalShareTargetPayDiscounts);
|
||||||
BigDecimal shareTargetPayDiscounts1 = detailsDto.getShareTargetPayDiscounts();
|
BigDecimal shareTargetPayDiscounts1 = detailsDto.getShareTargetPayDiscounts();
|
||||||
|
if (subtract.compareTo(BigDecimal.ZERO) > 0) {
|
||||||
detailsDto.setShareTargetPayDiscounts(shareTargetPayDiscounts1.add(subtract));
|
detailsDto.setShareTargetPayDiscounts(shareTargetPayDiscounts1.add(subtract));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//拷贝回到原始的集合
|
//拷贝回到原始的集合
|
||||||
copyDetailsDtoOld(details, detailsOld);
|
copyDetailsDtoOld(details, detailsOld);
|
||||||
|
|
|
@ -98,7 +98,7 @@ class SoSaleOutPluginInitializerToCTest {
|
||||||
try {
|
try {
|
||||||
// soSaleOutPluginInitializerToC.startImplementStockByTime("2024-10-18 00:00:00", "2024-10-18 23:59:59");
|
// soSaleOutPluginInitializerToC.startImplementStockByTime("2024-10-18 00:00:00", "2024-10-18 23:59:59");
|
||||||
String code = "LETS-SH2024102100026682";
|
String code = "LETS-SH2024102100026682";
|
||||||
soSaleOutPluginInitializerToC.startImplementStockByCode(code, "stock");
|
soSaleOutPluginInitializerToC.startImplementStockByCode(code, "tran");
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue