fix(sales): 修复海外店铺税率显示问题
- 在 SoSaleOutPluginInitializerToB 和 SoSaleReturnPluginInitializerToB 中添加逻辑,当税率为 0 时直接设置为 "0" - 修改销售发票体 DTO 中的税率设置逻辑,取自销售订单的税率 - 优化了税率计算和显示的逻辑,确保海外店铺的税率正确显示为 0
This commit is contained in:
parent
6b7c4aabaf
commit
7975339e85
|
@ -773,6 +773,7 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity {
|
||||||
//根据存货基础档案编码,查询当前存货的税率
|
//根据存货基础档案编码,查询当前存货的税率
|
||||||
BdTaxitemsEntity bdTaxitemsEntity1 = queryBdTaxitems(bdInvbasdocEntity.getInvcode());
|
BdTaxitemsEntity bdTaxitemsEntity1 = queryBdTaxitems(bdInvbasdocEntity.getInvcode());
|
||||||
|
|
||||||
|
//取存货默认税率0,如果是海外店铺,税率这为0
|
||||||
String tax = new BigDecimal(bdTaxitemsEntity1.getTaxratio()).divide(new BigDecimal(100), 20, BigDecimal.ROUND_HALF_UP).setScale(2, BigDecimal.ROUND_HALF_UP).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();
|
||||||
|
|
||||||
// 如果是海外的店铺,则税率为零
|
// 如果是海外的店铺,则税率为零
|
||||||
|
@ -837,7 +838,11 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity {
|
||||||
// saleorderRequestChildrenDto.setNoriginalcurtaxmny(noriginalcurtaxmny.stripTrailingZeros().toPlainString());//税额
|
// saleorderRequestChildrenDto.setNoriginalcurtaxmny(noriginalcurtaxmny.stripTrailingZeros().toPlainString());//税额
|
||||||
// saleorderRequestChildrenDto.setNoriginalcurtaxnetprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税净价
|
// saleorderRequestChildrenDto.setNoriginalcurtaxnetprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税净价
|
||||||
// saleorderRequestChildrenDto.setNoriginalcurtaxprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税单价
|
// saleorderRequestChildrenDto.setNoriginalcurtaxprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税单价
|
||||||
// saleorderRequestChildrenDto.setNtaxrate(new BigDecimal(bdTaxitemsEntity1.getTaxratio()).stripTrailingZeros().toPlainString());//税率
|
if ("0".equals(tax)) {
|
||||||
|
saleorderRequestChildrenDto.setNtaxrate("0");//税率
|
||||||
|
} else {
|
||||||
|
saleorderRequestChildrenDto.setNtaxrate(new BigDecimal(bdTaxitemsEntity1.getTaxratio()).stripTrailingZeros().toPlainString());//税率
|
||||||
|
}
|
||||||
//2024年8月30日 10:52:55 抛出异常pk_defxxx长度不够的问题,已经提交给总部
|
//2024年8月30日 10:52:55 抛出异常pk_defxxx长度不够的问题,已经提交给总部
|
||||||
//TODO 先不传,抛出长度异常,后续再改
|
//TODO 先不传,抛出长度异常,后续再改
|
||||||
// saleorderRequestChildrenDto.setVdef19(header.getCode());//原单单号
|
// saleorderRequestChildrenDto.setVdef19(header.getCode());//原单单号
|
||||||
|
@ -1938,7 +1943,8 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity {
|
||||||
salesInvoiceBodyDto.setNnumber(detailsDto.getShipQty());//数量
|
salesInvoiceBodyDto.setNnumber(detailsDto.getShipQty());//数量
|
||||||
// salesInvoiceBodyDto.setNoriginalcurtaxprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税单价
|
// salesInvoiceBodyDto.setNoriginalcurtaxprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税单价
|
||||||
salesInvoiceBodyDto.setNoriginalcursummny(new BigDecimal(totalPayAmount).setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString());//价税合计 新逻辑
|
salesInvoiceBodyDto.setNoriginalcursummny(new BigDecimal(totalPayAmount).setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString());//价税合计 新逻辑
|
||||||
// salesInvoiceBodyDto.setNtaxrate(new BigDecimal(bdTaxitemsEntity1.getTaxratio()).stripTrailingZeros().toPlainString());//税率
|
//取销售订单是上的税率
|
||||||
|
salesInvoiceBodyDto.setNtaxrate(sourceDocumentsV2.getNtaxrate());
|
||||||
salesInvoiceBodyDto.setBlargessflag(isblargessflag);
|
salesInvoiceBodyDto.setBlargessflag(isblargessflag);
|
||||||
salesInvoiceBodyDto.setCoriginalbillcode(soSaleEntity.getVreceiptcode());//源头单据号
|
salesInvoiceBodyDto.setCoriginalbillcode(soSaleEntity.getVreceiptcode());//源头单据号
|
||||||
salesInvoiceBodyDto.setCsourcebillbodyid(sourceDocumentsV2.getCorderBid());//源头单据明细行主键 (数据字典上是来源单据明细行主键,实际上是源头)
|
salesInvoiceBodyDto.setCsourcebillbodyid(sourceDocumentsV2.getCorderBid());//源头单据明细行主键 (数据字典上是来源单据明细行主键,实际上是源头)
|
||||||
|
|
|
@ -829,7 +829,12 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity {
|
||||||
// saleorderRequestChildrenDto.setNoriginalcurtaxmny("-" + noriginalcurtaxmny.stripTrailingZeros().toPlainString());//税额
|
// saleorderRequestChildrenDto.setNoriginalcurtaxmny("-" + noriginalcurtaxmny.stripTrailingZeros().toPlainString());//税额
|
||||||
// saleorderRequestChildrenDto.setNoriginalcurtaxnetprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税净价
|
// saleorderRequestChildrenDto.setNoriginalcurtaxnetprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税净价
|
||||||
// saleorderRequestChildrenDto.setNoriginalcurtaxprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税单价
|
// saleorderRequestChildrenDto.setNoriginalcurtaxprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税单价
|
||||||
// saleorderRequestChildrenDto.setNtaxrate(new BigDecimal(bdTaxitemsEntity1.getTaxratio()).stripTrailingZeros().toPlainString());//税率
|
//税率
|
||||||
|
if ("0".equals(tax)) {
|
||||||
|
saleorderRequestChildrenDto.setNtaxrate("0");
|
||||||
|
} else {
|
||||||
|
saleorderRequestChildrenDto.setNtaxrate(new BigDecimal(bdTaxitemsEntity1.getTaxratio()).stripTrailingZeros().toPlainString());
|
||||||
|
}
|
||||||
saleorderRequestChildrenDto.setVdef20(stockinB.getId());//原单明细主键
|
saleorderRequestChildrenDto.setVdef20(stockinB.getId());//原单明细主键
|
||||||
// saleorderRequestChildrenDto.setVdef2(bdCostsubjEntity.getCostname());//收支项目
|
// saleorderRequestChildrenDto.setVdef2(bdCostsubjEntity.getCostname());//收支项目
|
||||||
// saleorderRequestChildrenDto.setPk_defdoc2(bdCostsubjEntity.getPkCostsubj());
|
// saleorderRequestChildrenDto.setPk_defdoc2(bdCostsubjEntity.getPkCostsubj());
|
||||||
|
@ -1881,7 +1886,9 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity {
|
||||||
salesInvoiceBodyDto.setNnumber("-" + stockinB.getReceivedQty());//数量
|
salesInvoiceBodyDto.setNnumber("-" + stockinB.getReceivedQty());//数量
|
||||||
// salesInvoiceBodyDto.setNoriginalcurtaxprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税单价
|
// salesInvoiceBodyDto.setNoriginalcurtaxprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税单价
|
||||||
salesInvoiceBodyDto.setNoriginalcursummny("-" + new BigDecimal(totalPayAmount).setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString());//价税合计 新逻辑
|
salesInvoiceBodyDto.setNoriginalcursummny("-" + new BigDecimal(totalPayAmount).setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString());//价税合计 新逻辑
|
||||||
salesInvoiceBodyDto.setNtaxrate(new BigDecimal(bdTaxitemsEntity1.getTaxratio()).stripTrailingZeros().toPlainString());//税率
|
// salesInvoiceBodyDto.setNtaxrate(new BigDecimal(bdTaxitemsEntity1.getTaxratio()).stripTrailingZeros().toPlainString());//税率
|
||||||
|
//税率:取对应销售订单税率
|
||||||
|
salesInvoiceBodyDto.setNtaxrate(sourceDocumentsV2.getNtaxrate());
|
||||||
salesInvoiceBodyDto.setBlargessflag(isblargessflag);//是否赠品
|
salesInvoiceBodyDto.setBlargessflag(isblargessflag);//是否赠品
|
||||||
salesInvoiceBodyDto.setCoriginalbillcode(soSaleEntity.getVreceiptcode());//源头单据号
|
salesInvoiceBodyDto.setCoriginalbillcode(soSaleEntity.getVreceiptcode());//源头单据号
|
||||||
salesInvoiceBodyDto.setCsourcebillbodyid(sourceDocumentsV2.getCorderBid());//源头单据明细行主键 (数据字典上是来源单据明细行主键,实际上是源头)
|
salesInvoiceBodyDto.setCsourcebillbodyid(sourceDocumentsV2.getCorderBid());//源头单据明细行主键 (数据字典上是来源单据明细行主键,实际上是源头)
|
||||||
|
|
|
@ -83,7 +83,7 @@ public class SoSaleOutPluginInitializerToBTest {
|
||||||
|
|
||||||
// soSaleOutPluginInitializerToB.startImplementByStockTime("2024-10-23 16:09:59", "2024-10-23 16:10:01");
|
// soSaleOutPluginInitializerToB.startImplementByStockTime("2024-10-23 16:09:59", "2024-10-23 16:10:01");
|
||||||
|
|
||||||
String aaa = "LETS-SH2024102200156975";
|
String aaa = "LETS-SH2024103100026169";
|
||||||
soSaleOutPluginInitializerToB.startImplementByCode(aaa, "tran");
|
soSaleOutPluginInitializerToB.startImplementByCode(aaa, "tran");
|
||||||
// soSaleOutPluginInitializerToB.startImplementByTranTime("2024-10-28 00:00:00", "2024-10-28 23:59:59");
|
// soSaleOutPluginInitializerToB.startImplementByTranTime("2024-10-28 00:00:00", "2024-10-28 23:59:59");
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue