refactor(sales): 重构销售出库单金额计算逻辑
- 移除不必要的变量和注释 - 优化赠品判断逻辑 - 调整金额计算方式,直接使用 totalPayAmount- 删除未使用的代码片段 - 更新注释以反映新的逻辑
This commit is contained in:
parent
1759ecd7ea
commit
6b7c4aabaf
|
@ -145,11 +145,12 @@ public class OverallConstant {
|
|||
prodOverAll.put("u8c自定义项档案-单据红字标识-N名称", "N");
|
||||
|
||||
//中台地址
|
||||
prodOverAll.put("u8c_url", "http://127.0.0.1:8081/kangarooDataCenterV3/entranceController/externalCallInterface");
|
||||
//测试
|
||||
// prodOverAll.put("u8c_url", "http://127.0.0.1:8081/kangarooDataCenterV3/entranceController/externalCallInterface");
|
||||
|
||||
//TODO 测试
|
||||
// prodOverAll.put("u8c_url", "http://127.0.0.1:9999/kangarooDataCenterV3/entranceController/externalCallInterface");
|
||||
// prodOverAll.put("u8c_url", "http://ufidahz.com.cn:9067/kangarooDataCenterV3/entranceController/externalCallInterface");
|
||||
// prodOverAll.put("u8c_url", "http://39.170.109.90:8081/kangarooDataCenterV3/entranceController/externalCallInterface");
|
||||
prodOverAll.put("u8c_url", "http://39.170.109.90:8081/kangarooDataCenterV3/entranceController/externalCallInterface");
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -782,21 +782,22 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity {
|
|||
}
|
||||
|
||||
StringBuffer calculationFormula = new StringBuffer();//计算公式
|
||||
BigDecimal noriginalcurprice = null;//无税单价
|
||||
BigDecimal noriginalcurmny = null;//无税金额
|
||||
BigDecimal noriginalcurtaxprice = null;//含税单价
|
||||
BigDecimal noriginalcursummny = null;//价税合计
|
||||
BigDecimal noriginalcurtaxmny = null;//税额
|
||||
// BigDecimal noriginalcurprice = null;//无税单价
|
||||
// BigDecimal noriginalcurmny = null;//无税金额
|
||||
// BigDecimal noriginalcurtaxprice = null;//含税单价
|
||||
// BigDecimal noriginalcursummny = null;//价税合计
|
||||
// BigDecimal noriginalcurtaxmny = null;//税额
|
||||
String totalPayAmount = null;
|
||||
try {
|
||||
//判断目标金额:O实收、结存价、采购价
|
||||
totalPayAmount = getFloorPrice(isCheckShopChoose, bdInvmandocEntity, header, detailsDto, calculationFormula, bdInvbasdocEntity);
|
||||
Assert.notNull(totalPayAmount, "无法获取目标金额O实收、U零售价!");
|
||||
|
||||
noriginalcurtaxprice = new BigDecimal(totalPayAmount).divide(new BigDecimal(detailsDto.getShipQty()), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcurprice = noriginalcurtaxprice.divide(new BigDecimal(1).add(new BigDecimal(tax)), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcurmny = noriginalcurprice.multiply(new BigDecimal(detailsDto.getShipQty())).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcursummny = noriginalcurtaxprice.multiply(new BigDecimal(detailsDto.getShipQty())).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcurtaxmny = noriginalcursummny.subtract(noriginalcurmny).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
// noriginalcurtaxprice = new BigDecimal(totalPayAmount).divide(new BigDecimal(detailsDto.getShipQty()), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP);
|
||||
// noriginalcurprice = noriginalcurtaxprice.divide(new BigDecimal(1).add(new BigDecimal(tax)), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP);
|
||||
// noriginalcurmny = noriginalcurprice.multiply(new BigDecimal(detailsDto.getShipQty())).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
// noriginalcursummny = noriginalcurtaxprice.multiply(new BigDecimal(detailsDto.getShipQty())).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
// noriginalcurtaxmny = noriginalcursummny.subtract(noriginalcurmny).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
} catch (Exception e) {
|
||||
logger.error("TOB金额计算错误", e);
|
||||
Assert.state(false, "TOB金额计算错误,原因:{}", e.getMessage());
|
||||
|
@ -804,7 +805,7 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity {
|
|||
|
||||
//判断是否为赠品
|
||||
Boolean isblargessflag = false;
|
||||
if (noriginalcursummny.longValue() == 0) {
|
||||
if ("0".equals(new BigDecimal(totalPayAmount).stripTrailingZeros().toPlainString())) {
|
||||
isblargessflag = true;
|
||||
}
|
||||
|
||||
|
@ -832,10 +833,11 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity {
|
|||
// saleorderRequestChildrenDto.setNoriginalcurnetprice(noriginalcurprice.stripTrailingZeros().toPlainString());//无税净价*
|
||||
// saleorderRequestChildrenDto.setNoriginalcurprice(noriginalcurprice.stripTrailingZeros().toPlainString());//无税单价*
|
||||
// saleorderRequestChildrenDto.setNoriginalcursummny(noriginalcursummny.stripTrailingZeros().toPlainString());//价税合计
|
||||
saleorderRequestChildrenDto.setNoriginalcursummny(new BigDecimal(totalPayAmount).setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString());//价税合计-新逻辑
|
||||
// saleorderRequestChildrenDto.setNoriginalcurtaxmny(noriginalcurtaxmny.stripTrailingZeros().toPlainString());//税额
|
||||
// saleorderRequestChildrenDto.setNoriginalcurtaxnetprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税净价
|
||||
saleorderRequestChildrenDto.setNoriginalcurtaxprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税单价
|
||||
saleorderRequestChildrenDto.setNtaxrate(new BigDecimal(bdTaxitemsEntity1.getTaxratio()).stripTrailingZeros().toPlainString());//税率
|
||||
// saleorderRequestChildrenDto.setNoriginalcurtaxprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税单价
|
||||
// saleorderRequestChildrenDto.setNtaxrate(new BigDecimal(bdTaxitemsEntity1.getTaxratio()).stripTrailingZeros().toPlainString());//税率
|
||||
//2024年8月30日 10:52:55 抛出异常pk_defxxx长度不够的问题,已经提交给总部
|
||||
//TODO 先不传,抛出长度异常,后续再改
|
||||
// saleorderRequestChildrenDto.setVdef19(header.getCode());//原单单号
|
||||
|
@ -1912,12 +1914,12 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity {
|
|||
//计算公式
|
||||
StringBuffer calculationFormula = new StringBuffer();
|
||||
//含税单价
|
||||
BigDecimal noriginalcurtaxprice = null;
|
||||
// BigDecimal noriginalcurtaxprice = null;
|
||||
String totalPayAmount = null;
|
||||
try {
|
||||
//综合判断对应的目标金额
|
||||
totalPayAmount = getFloorPrice(isCheckShopChoose, bdInvmandocEntity, header, detailsDto, calculationFormula, bdInvbasdocEntity);
|
||||
noriginalcurtaxprice = new BigDecimal(totalPayAmount).divide(new BigDecimal(detailsDto.getShipQty()), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP);
|
||||
// noriginalcurtaxprice = new BigDecimal(totalPayAmount).divide(new BigDecimal(detailsDto.getShipQty()), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP);
|
||||
} catch (Exception e) {
|
||||
logger.error("含税单价金额计算失败!", e);
|
||||
Assert.state(false, "含税单价金额计算失败 原因:{}", e.getMessage());
|
||||
|
@ -1925,7 +1927,7 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity {
|
|||
|
||||
//判断是否为赠品
|
||||
Boolean isblargessflag = false;
|
||||
if (noriginalcurtaxprice.longValue() == 0) {
|
||||
if ("0".equals(new BigDecimal(totalPayAmount).stripTrailingZeros().toPlainString())) {
|
||||
isblargessflag = true;
|
||||
}
|
||||
|
||||
|
@ -1933,9 +1935,10 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity {
|
|||
salesInvoiceBodyDto.setCinventoryid(bdInvmandocEntity.getPkInvmandoc());
|
||||
salesInvoiceBodyDto.setCupreceipttype("4C");//来源单据类型
|
||||
salesInvoiceBodyDto.setCupsourcebillcode(icGeneralHEntity.getVbillcode());//来源单据号
|
||||
salesInvoiceBodyDto.setNnumber(detailsDto.getShipQty());
|
||||
salesInvoiceBodyDto.setNoriginalcurtaxprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税单价
|
||||
salesInvoiceBodyDto.setNtaxrate(new BigDecimal(bdTaxitemsEntity1.getTaxratio()).stripTrailingZeros().toPlainString());//税率
|
||||
salesInvoiceBodyDto.setNnumber(detailsDto.getShipQty());//数量
|
||||
// salesInvoiceBodyDto.setNoriginalcurtaxprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税单价
|
||||
salesInvoiceBodyDto.setNoriginalcursummny(new BigDecimal(totalPayAmount).setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString());//价税合计 新逻辑
|
||||
// salesInvoiceBodyDto.setNtaxrate(new BigDecimal(bdTaxitemsEntity1.getTaxratio()).stripTrailingZeros().toPlainString());//税率
|
||||
salesInvoiceBodyDto.setBlargessflag(isblargessflag);
|
||||
salesInvoiceBodyDto.setCoriginalbillcode(soSaleEntity.getVreceiptcode());//源头单据号
|
||||
salesInvoiceBodyDto.setCsourcebillbodyid(sourceDocumentsV2.getCorderBid());//源头单据明细行主键 (数据字典上是来源单据明细行主键,实际上是源头)
|
||||
|
@ -1955,7 +1958,6 @@ public class SoSaleOutPluginInitializerToB extends PluginBaseEntity {
|
|||
// salesInvoiceBodyDto.setCupsourcebillbodyid("1009A2100000000004R3");//上层来源单据行
|
||||
// salesInvoiceBodyDto.setVdef2(bdCostsubjEntity.getCostname());//收支项目
|
||||
// salesInvoiceBodyDto.setPk_defdoc2(bdCostsubjEntity.getPkCostsubj());
|
||||
|
||||
salesInvoiceBodyDtoList.add(salesInvoiceBodyDto);
|
||||
|
||||
detailsDto.setDef7(totalPayAmount);
|
||||
|
|
|
@ -238,6 +238,7 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
|||
queryOfsSoSaleOutVo.setPageNo(1L);
|
||||
queryOfsSoSaleOutVo.setPageSize(100L);
|
||||
queryOfsSoSaleOutVo.setStoreCode(tocShop);
|
||||
|
||||
ofsStandardUtil.queryOfsSaleOrder(queryOfsSoSaleOutVo, headerDetailsDtoList, 1L, "ofs.shipment.search");
|
||||
logger.info("数据返回行数:{}", headerDetailsDtoList.size());
|
||||
if (headerDetailsDtoList.size() > 0) {
|
||||
|
@ -860,7 +861,7 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
|||
//查询「平台运费」存货基本档案
|
||||
BdInvbasdocEntity bdInvbasdocEntity1 = queryStockBasicArchives();
|
||||
//查询「平台运费」对应的税率
|
||||
BdTaxitemsEntity bdTaxitemsEntity = queryBdTaxitems(bdInvbasdocEntity1.getInvcode());
|
||||
// BdTaxitemsEntity bdTaxitemsEntity = queryBdTaxitems(bdInvbasdocEntity1.getInvcode());
|
||||
//查询「平台运费」所有公司的存货管理档案
|
||||
Map<String, BdInvmandocEntity> stringBdInvmandocEntityMap = queryInventoryMan(bdInvbasdocEntity1.getPkInvbasdoc());
|
||||
|
||||
|
@ -958,26 +959,26 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
|||
|
||||
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;//含税单价
|
||||
BigDecimal noriginalcursummny = null;//价税合计
|
||||
BigDecimal noriginalcurtaxmny = null;//税额
|
||||
try {
|
||||
//汇总好的金额/汇总好的实出数量
|
||||
noriginalcurtaxprice = sonDetailsDto.getGroupTotalPayAmount().divide(sonDetailsDto.getGroupShipQty(), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcurprice = noriginalcurtaxprice.divide(new BigDecimal(1).add(new BigDecimal(tax)), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcurmny = noriginalcurprice.multiply(sonDetailsDto.getGroupShipQty()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcursummny = noriginalcurtaxprice.multiply(sonDetailsDto.getGroupShipQty()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcurtaxmny = noriginalcursummny.subtract(noriginalcurmny).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
} catch (Exception e) {
|
||||
logger.error("TOC金额计算错误", e);
|
||||
Assert.state(false, "金额计算错误,原因:{}" + e.getMessage());
|
||||
}
|
||||
// BigDecimal noriginalcurprice = null;//无税单价
|
||||
// BigDecimal noriginalcurmny = null;//无税金额
|
||||
// BigDecimal noriginalcurtaxprice = null;//含税单价
|
||||
// BigDecimal noriginalcursummny = null;//价税合计
|
||||
// BigDecimal noriginalcurtaxmny = null;//税额
|
||||
// try {
|
||||
// //汇总好的金额/汇总好的实出数量
|
||||
// noriginalcurtaxprice = sonDetailsDto.getGroupTotalPayAmount().divide(sonDetailsDto.getGroupShipQty(), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP);
|
||||
// noriginalcurprice = noriginalcurtaxprice.divide(new BigDecimal(1).add(new BigDecimal(tax)), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP);
|
||||
// noriginalcurmny = noriginalcurprice.multiply(sonDetailsDto.getGroupShipQty()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
// noriginalcursummny = noriginalcurtaxprice.multiply(sonDetailsDto.getGroupShipQty()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
// noriginalcurtaxmny = noriginalcursummny.subtract(noriginalcurmny).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
// } catch (Exception e) {
|
||||
// logger.error("TOC金额计算错误", e);
|
||||
// Assert.state(false, "金额计算错误,原因:{}" + e.getMessage());
|
||||
// }
|
||||
|
||||
//判断是否为赠品
|
||||
Boolean isblargessflag = false;
|
||||
if (noriginalcursummny.longValue() == 0) {
|
||||
if ("0".equals(sonDetailsDto.getGroupTotalPayAmount().stripTrailingZeros().toPlainString())) {
|
||||
isblargessflag = true;
|
||||
}
|
||||
|
||||
|
@ -997,14 +998,15 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
|||
saleorderRequestChildrenDto.setNitemdiscountrate("100.000000");//单品折扣
|
||||
saleorderRequestChildrenDto.setNnumber(String.valueOf(sonDetailsDto.getGroupShipQty()));//数量
|
||||
saleorderRequestChildrenDto.setNoriginalcurdiscountmny("0");//折扣额
|
||||
saleorderRequestChildrenDto.setNoriginalcurmny(noriginalcurmny.stripTrailingZeros().toPlainString());//无税金额
|
||||
// saleorderRequestChildrenDto.setNoriginalcurmny(noriginalcurmny.stripTrailingZeros().toPlainString());//无税金额
|
||||
// saleorderRequestChildrenDto.setNoriginalcurnetprice(noriginalcurprice.stripTrailingZeros().toPlainString());//无税净价
|
||||
// saleorderRequestChildrenDto.setNoriginalcurprice(noriginalcurprice.stripTrailingZeros().toPlainString());//无税单价
|
||||
saleorderRequestChildrenDto.setNoriginalcursummny(noriginalcursummny.stripTrailingZeros().toPlainString());//价税合计
|
||||
saleorderRequestChildrenDto.setNoriginalcurtaxmny(noriginalcurtaxmny.stripTrailingZeros().toPlainString());//税额
|
||||
saleorderRequestChildrenDto.setNoriginalcurtaxnetprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税净价
|
||||
saleorderRequestChildrenDto.setNoriginalcurtaxprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税单价
|
||||
saleorderRequestChildrenDto.setNtaxrate(new BigDecimal(bdTaxitemsEntity1.getTaxratio()).stripTrailingZeros().toPlainString());//税率
|
||||
// saleorderRequestChildrenDto.setNoriginalcursummny(noriginalcursummny.stripTrailingZeros().toPlainString());//价税合计
|
||||
saleorderRequestChildrenDto.setNoriginalcursummny(sonDetailsDto.getGroupTotalPayAmount().setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString());//价税合计新逻辑
|
||||
// saleorderRequestChildrenDto.setNoriginalcurtaxmny(noriginalcurtaxmny.stripTrailingZeros().toPlainString());//税额
|
||||
// saleorderRequestChildrenDto.setNoriginalcurtaxnetprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税净价
|
||||
// saleorderRequestChildrenDto.setNoriginalcurtaxprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税单价
|
||||
// saleorderRequestChildrenDto.setNtaxrate(new BigDecimal(bdTaxitemsEntity1.getTaxratio()).stripTrailingZeros().toPlainString());//税率
|
||||
// saleorderRequestChildrenDto.setCreccalbodyid(bdCalbodyEntity1.getPkCalbody());//收货库存组织:2024年8月7日 16:21:48 和佳妮、道品一起测试,收货库存组织、收货仓库 是不需要传递的
|
||||
// saleorderRequestChildrenDto.setCrecwareid(bdStordocEntity1.getPkStordoc());//收货仓库
|
||||
// saleorderRequestChildrenDto.setVdef2(bdCostsubjEntity.getCostname());//收支项目
|
||||
|
@ -1036,23 +1038,23 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
|||
BigDecimal accumulatedPostage = checkPostageFee(oldValue);
|
||||
if (accumulatedPostage != null && accumulatedPostage.compareTo(BigDecimal.ZERO) > 0) {
|
||||
//获取「平台运维」对应的税率
|
||||
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;//含税单价
|
||||
BigDecimal noriginalcursummny2 = null;//价税合计
|
||||
BigDecimal noriginalcurtaxmny2 = null;//税额
|
||||
try {
|
||||
//邮费的汇总金额,但是数量永远为1
|
||||
noriginalcurtaxprice2 = accumulatedPostage.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());
|
||||
}
|
||||
// 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;//含税单价
|
||||
// BigDecimal noriginalcursummny2 = null;//价税合计
|
||||
// BigDecimal noriginalcurtaxmny2 = null;//税额
|
||||
// try {
|
||||
// //邮费的汇总金额,但是数量永远为1
|
||||
// noriginalcurtaxprice2 = accumulatedPostage.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());
|
||||
// }
|
||||
|
||||
//存货管理档案
|
||||
BdInvmandocEntity bdInvmandocEntity1 = stringBdInvmandocEntityMap.get(deliverGoodsCorp.getPkCorp());
|
||||
|
@ -1073,12 +1075,14 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
|||
saleorderRequestChildrenDto2.setNitemdiscountrate("100.000000");//单品折扣
|
||||
saleorderRequestChildrenDto2.setNnumber("1");//数量
|
||||
saleorderRequestChildrenDto2.setNoriginalcurdiscountmny("0");//折扣额
|
||||
saleorderRequestChildrenDto2.setNoriginalcurmny(noriginalcurmny2.stripTrailingZeros().toPlainString());//无税金额
|
||||
saleorderRequestChildrenDto2.setNoriginalcursummny(noriginalcursummny2.stripTrailingZeros().toPlainString());//价税合计
|
||||
saleorderRequestChildrenDto2.setNoriginalcurtaxmny(noriginalcurtaxmny2.stripTrailingZeros().toPlainString());//税额
|
||||
saleorderRequestChildrenDto2.setNoriginalcurtaxnetprice(noriginalcurtaxprice2.stripTrailingZeros().toPlainString());//含税净价
|
||||
saleorderRequestChildrenDto2.setNoriginalcurtaxprice(noriginalcurtaxprice2.stripTrailingZeros().toPlainString());//含税单价
|
||||
saleorderRequestChildrenDto2.setNtaxrate(new BigDecimal(bdTaxitemsEntity.getTaxratio()).stripTrailingZeros().toPlainString());//税率,对应运维存货的税率
|
||||
// saleorderRequestChildrenDto2.setNoriginalcurmny(noriginalcurmny2.stripTrailingZeros().toPlainString());//无税金额
|
||||
// saleorderRequestChildrenDto2.setNoriginalcursummny(noriginalcursummny2.stripTrailingZeros().toPlainString());//价税合计
|
||||
// saleorderRequestChildrenDto2.setNoriginalcurtaxmny(noriginalcurtaxmny2.stripTrailingZeros().toPlainString());//税额
|
||||
// saleorderRequestChildrenDto2.setNoriginalcurtaxnetprice(noriginalcurtaxprice2.stripTrailingZeros().toPlainString());//含税净价
|
||||
// saleorderRequestChildrenDto2.setNoriginalcurtaxprice(noriginalcurtaxprice2.stripTrailingZeros().toPlainString());//含税单价
|
||||
|
||||
saleorderRequestChildrenDto2.setNoriginalcursummny(accumulatedPostage.setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString());//价税合计新
|
||||
// saleorderRequestChildrenDto2.setNtaxrate(new BigDecimal(bdTaxitemsEntity.getTaxratio()).stripTrailingZeros().toPlainString());//税率,对应运维存货的税率
|
||||
saleorderRequestChildrenDto2.setVdef4("0");
|
||||
saleorderRequestChildrenDto2.setVdef5("0");
|
||||
saleorderRequestChildrenDto2.setVdef6("0");
|
||||
|
@ -1939,8 +1943,8 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
|||
* @author liuyang
|
||||
*/
|
||||
private void implementTran(List<com.hzya.frame.ttxofs.dto.ofssaleorderoutsearch.HeaderDetailsDto> headerDetailsDtos) throws Exception {
|
||||
logger.info("TOC销售库存业务:{}行需要进行数据转换", headerDetailsDtos.size());
|
||||
if (headerDetailsDtos != null && headerDetailsDtos.size() > 0) {
|
||||
logger.info("TOC销售库存业务:{}行需要进行数据转换", headerDetailsDtos.size());
|
||||
try {
|
||||
//查询基本档案
|
||||
String sceneType = "tran";
|
||||
|
@ -2048,26 +2052,26 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
|||
// BdInvclEntity bdInvclEntity = queryU8CEntityUtil.queryBdInvbasdocByBdInvcl(bdInvbasdocEntity);
|
||||
// BdCostsubjEntity bdCostsubjEntity = queryU8CEntityUtil.queryBdCostsubj(bdInvclEntity);
|
||||
|
||||
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();
|
||||
// BigDecimal noriginalcurprice = null;//无税单价
|
||||
// BigDecimal noriginalcurmny = null;//无税金额
|
||||
// BigDecimal noriginalcurtaxprice = null;//含税单价
|
||||
// BigDecimal noriginalcursummny = null;//价税合计
|
||||
// BigDecimal noriginalcurtaxmny = null;//税额
|
||||
// try {
|
||||
// noriginalcurtaxprice = sonDetailsDto.getGroupTotalPayAmount().divide(sonDetailsDto.getGroupShipQty(), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP);
|
||||
// noriginalcurprice = noriginalcurtaxprice.divide(new BigDecimal(1).add(new BigDecimal(tax)), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP);
|
||||
// noriginalcurmny = noriginalcurprice.multiply(sonDetailsDto.getGroupShipQty()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
// noriginalcursummny = noriginalcurtaxprice.multiply(sonDetailsDto.getGroupShipQty()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
// noriginalcurtaxmny = noriginalcursummny.subtract(noriginalcurmny).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
// } catch (Exception e) {
|
||||
// logger.error("TOC金额计算错误", e);
|
||||
// Assert.state(false, "金额计算错误,原因:{}" + e.getMessage());
|
||||
// }
|
||||
|
||||
BigDecimal noriginalcurprice = null;//无税单价
|
||||
BigDecimal noriginalcurmny = null;//无税金额
|
||||
BigDecimal noriginalcurtaxprice = null;//含税单价
|
||||
BigDecimal noriginalcursummny = null;//价税合计
|
||||
BigDecimal noriginalcurtaxmny = null;//税额
|
||||
try {
|
||||
noriginalcurtaxprice = sonDetailsDto.getGroupTotalPayAmount().divide(sonDetailsDto.getGroupShipQty(), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcurprice = noriginalcurtaxprice.divide(new BigDecimal(1).add(new BigDecimal(tax)), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcurmny = noriginalcurprice.multiply(sonDetailsDto.getGroupShipQty()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcursummny = noriginalcurtaxprice.multiply(sonDetailsDto.getGroupShipQty()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcurtaxmny = noriginalcursummny.subtract(noriginalcurmny).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
} catch (Exception e) {
|
||||
logger.error("TOC金额计算错误", e);
|
||||
Assert.state(false, "金额计算错误,原因:{}" + e.getMessage());
|
||||
}
|
||||
//判断是否为赠品
|
||||
Boolean isblargessflag = false;
|
||||
if (noriginalcursummny.longValue() == 0) {
|
||||
if ("0".equals(sonDetailsDto.getGroupTotalPayAmount().stripTrailingZeros().toPlainString())) {
|
||||
isblargessflag = true;
|
||||
}
|
||||
|
||||
|
@ -2085,16 +2089,17 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
|||
saleorderRequestChildrenDto.setDdeliverdate(generateBusinessDate);//要求收货日期
|
||||
saleorderRequestChildrenDto.setNexchangeotobrate("1.00000000");//折本汇率
|
||||
saleorderRequestChildrenDto.setNitemdiscountrate("100.000000");//单品折扣
|
||||
saleorderRequestChildrenDto.setNnumber("-" + String.valueOf(sonDetailsDto.getGroupShipQty()));//数量
|
||||
saleorderRequestChildrenDto.setNnumber("-" + sonDetailsDto.getGroupShipQty().stripTrailingZeros().toPlainString());//数量
|
||||
saleorderRequestChildrenDto.setNoriginalcurdiscountmny("0");//折扣额
|
||||
saleorderRequestChildrenDto.setNoriginalcurmny("-" + noriginalcurmny.stripTrailingZeros().toPlainString());//无税金额
|
||||
// saleorderRequestChildrenDto.setNoriginalcurmny("-" + noriginalcurmny.stripTrailingZeros().toPlainString());//无税金额
|
||||
// saleorderRequestChildrenDto.setNoriginalcurnetprice(noriginalcurprice.stripTrailingZeros().toPlainString());//无税净价
|
||||
// saleorderRequestChildrenDto.setNoriginalcurprice(noriginalcurprice.stripTrailingZeros().toPlainString());//无税单价
|
||||
saleorderRequestChildrenDto.setNoriginalcursummny("-" + noriginalcursummny.stripTrailingZeros().toPlainString());//价税合计
|
||||
saleorderRequestChildrenDto.setNoriginalcurtaxmny("-" + noriginalcurtaxmny.stripTrailingZeros().toPlainString());//税额
|
||||
saleorderRequestChildrenDto.setNoriginalcurtaxnetprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税净价
|
||||
saleorderRequestChildrenDto.setNoriginalcurtaxprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税单价
|
||||
saleorderRequestChildrenDto.setNtaxrate(new BigDecimal(bdTaxitemsEntity1.getTaxratio()).stripTrailingZeros().toPlainString());//税率
|
||||
// saleorderRequestChildrenDto.setNoriginalcursummny("-" + noriginalcursummny.stripTrailingZeros().toPlainString());//价税合计
|
||||
saleorderRequestChildrenDto.setNoriginalcursummny("-" + sonDetailsDto.getGroupTotalPayAmount().setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString());//价税合计新逻辑
|
||||
// saleorderRequestChildrenDto.setNoriginalcurtaxmny("-" + noriginalcurtaxmny.stripTrailingZeros().toPlainString());//税额
|
||||
// saleorderRequestChildrenDto.setNoriginalcurtaxnetprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税净价
|
||||
// saleorderRequestChildrenDto.setNoriginalcurtaxprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税单价
|
||||
// saleorderRequestChildrenDto.setNtaxrate(new BigDecimal(bdTaxitemsEntity1.getTaxratio()).stripTrailingZeros().toPlainString());//税率
|
||||
// saleorderRequestChildrenDto.setCreccalbodyid(bdCalbodyEntity1.getPkCalbody());//收货库存组织:2024年8月7日 16:21:48 和佳妮、道品一起测试,收货库存组织、收货仓库 是不需要传递的
|
||||
// saleorderRequestChildrenDto.setCrecwareid(bdStordocEntity1.getPkStordoc());//收货仓库
|
||||
|
||||
|
@ -2126,24 +2131,24 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
|||
//判断是否增加邮费这个存货,accumulatedPostage
|
||||
BigDecimal accumulatedPostage = checkPostageFee(oldValue);
|
||||
if (accumulatedPostage != null && accumulatedPostage.compareTo(BigDecimal.ZERO) > 0) {
|
||||
//获取「平台运维」对应的税率
|
||||
String tax2 = "0." + new BigDecimal(bdTaxitemsEntity.getTaxratio()).stripTrailingZeros().toPlainString();
|
||||
BigDecimal noriginalcurprice2 = null;//无税单价
|
||||
BigDecimal noriginalcurmny2 = null;//无税金额
|
||||
BigDecimal noriginalcurtaxprice2 = null;//含税单价
|
||||
BigDecimal noriginalcursummny2 = null;//价税合计
|
||||
BigDecimal noriginalcurtaxmny2 = null;//税额
|
||||
try {
|
||||
//邮费的汇总金额,但是数量永远为1
|
||||
noriginalcurtaxprice2 = accumulatedPostage.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());
|
||||
}
|
||||
//获取「平台运费」对应的税率
|
||||
// String tax2 = "0." + new BigDecimal(bdTaxitemsEntity.getTaxratio()).stripTrailingZeros().toPlainString();
|
||||
// BigDecimal noriginalcurprice2 = null;//无税单价
|
||||
// BigDecimal noriginalcurmny2 = null;//无税金额
|
||||
// BigDecimal noriginalcurtaxprice2 = null;//含税单价
|
||||
// BigDecimal noriginalcursummny2 = null;//价税合计
|
||||
// BigDecimal noriginalcurtaxmny2 = null;//税额
|
||||
// try {
|
||||
// //邮费的汇总金额,但是数量永远为1
|
||||
// noriginalcurtaxprice2 = accumulatedPostage.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());
|
||||
// }
|
||||
|
||||
//存货管理档案
|
||||
BdInvmandocEntity bdInvmandocEntity1 = stringBdInvmandocEntityMap.get(deliverGoodsCorp.getPkCorp());
|
||||
|
@ -2164,12 +2169,13 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
|||
saleorderRequestChildrenDto2.setNitemdiscountrate("100.000000");//单品折扣
|
||||
saleorderRequestChildrenDto2.setNnumber("-1");//数量
|
||||
saleorderRequestChildrenDto2.setNoriginalcurdiscountmny("0");//折扣额
|
||||
saleorderRequestChildrenDto2.setNoriginalcurmny("-" + noriginalcurmny2.stripTrailingZeros().toPlainString());//无税金额
|
||||
saleorderRequestChildrenDto2.setNoriginalcursummny("-" + noriginalcursummny2.stripTrailingZeros().toPlainString());//价税合计
|
||||
saleorderRequestChildrenDto2.setNoriginalcurtaxmny("-" + noriginalcurtaxmny2.stripTrailingZeros().toPlainString());//税额
|
||||
saleorderRequestChildrenDto2.setNoriginalcurtaxnetprice(noriginalcurtaxprice2.stripTrailingZeros().toPlainString());//含税净价
|
||||
saleorderRequestChildrenDto2.setNoriginalcurtaxprice(noriginalcurtaxprice2.stripTrailingZeros().toPlainString());//含税单价
|
||||
saleorderRequestChildrenDto2.setNtaxrate(new BigDecimal(bdTaxitemsEntity.getTaxratio()).stripTrailingZeros().toPlainString());//税率,对应运维存货的税率
|
||||
// saleorderRequestChildrenDto2.setNoriginalcurmny("-" + noriginalcurmny2.stripTrailingZeros().toPlainString());//无税金额
|
||||
// saleorderRequestChildrenDto2.setNoriginalcursummny("-" + noriginalcursummny2.stripTrailingZeros().toPlainString());//价税合计
|
||||
saleorderRequestChildrenDto2.setNoriginalcursummny("-" + accumulatedPostage.setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString());//价税合计
|
||||
// saleorderRequestChildrenDto2.setNoriginalcurtaxmny("-" + noriginalcurtaxmny2.stripTrailingZeros().toPlainString());//税额
|
||||
// saleorderRequestChildrenDto2.setNoriginalcurtaxnetprice(noriginalcurtaxprice2.stripTrailingZeros().toPlainString());//含税净价
|
||||
// saleorderRequestChildrenDto2.setNoriginalcurtaxprice(noriginalcurtaxprice2.stripTrailingZeros().toPlainString());//含税单价
|
||||
// saleorderRequestChildrenDto2.setNtaxrate(new BigDecimal(bdTaxitemsEntity.getTaxratio()).stripTrailingZeros().toPlainString());//税率,对应运维存货的税率
|
||||
saleorderRequestChildrenDto2.setVdef4("0");
|
||||
saleorderRequestChildrenDto2.setVdef5("0");
|
||||
saleorderRequestChildrenDto2.setVdef6("0");
|
||||
|
@ -2260,26 +2266,27 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
|||
List<SaleorderRequestChildrenDto> saleorderRequestChildrenDtoList = new ArrayList<>();
|
||||
saleorderRequestDto.setChildrenvo(saleorderRequestChildrenDtoList);
|
||||
|
||||
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();
|
||||
//
|
||||
// BigDecimal noriginalcurprice = null;//无税单价
|
||||
// BigDecimal noriginalcurmny = null;//无税金额
|
||||
// BigDecimal noriginalcurtaxprice = null;//含税单价
|
||||
// BigDecimal noriginalcursummny = null;//价税合计
|
||||
// BigDecimal noriginalcurtaxmny = null;//税额
|
||||
// try {
|
||||
// noriginalcurtaxprice = sonDetailsDto.getGroupTotalPayAmount().divide(sonDetailsDto.getGroupShipQty(), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP);
|
||||
// noriginalcurprice = noriginalcurtaxprice.divide(new BigDecimal(1).add(new BigDecimal(tax)), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP);
|
||||
// noriginalcurmny = noriginalcurprice.multiply(sonDetailsDto.getGroupShipQty()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
// noriginalcursummny = noriginalcurtaxprice.multiply(sonDetailsDto.getGroupShipQty()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
// noriginalcurtaxmny = noriginalcursummny.subtract(noriginalcurmny).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
// } catch (Exception e) {
|
||||
// logger.error("TOC金额计算错误", e);
|
||||
// Assert.state(false, "金额计算错误,原因:{}" + e.getMessage());
|
||||
// }
|
||||
|
||||
BigDecimal noriginalcurprice = null;//无税单价
|
||||
BigDecimal noriginalcurmny = null;//无税金额
|
||||
BigDecimal noriginalcurtaxprice = null;//含税单价
|
||||
BigDecimal noriginalcursummny = null;//价税合计
|
||||
BigDecimal noriginalcurtaxmny = null;//税额
|
||||
try {
|
||||
noriginalcurtaxprice = sonDetailsDto.getGroupTotalPayAmount().divide(sonDetailsDto.getGroupShipQty(), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcurprice = noriginalcurtaxprice.divide(new BigDecimal(1).add(new BigDecimal(tax)), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcurmny = noriginalcurprice.multiply(sonDetailsDto.getGroupShipQty()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcursummny = noriginalcurtaxprice.multiply(sonDetailsDto.getGroupShipQty()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcurtaxmny = noriginalcursummny.subtract(noriginalcurmny).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
} catch (Exception e) {
|
||||
logger.error("TOC金额计算错误", e);
|
||||
Assert.state(false, "金额计算错误,原因:{}" + e.getMessage());
|
||||
}
|
||||
//判断是否为赠品
|
||||
//判断是否为赠品,如果金额为0则为赠品
|
||||
Boolean isblargessflag = false;
|
||||
if (noriginalcursummny.longValue() == 0) {
|
||||
if ("0".equals(sonDetailsDto.getGroupTotalPayAmount().stripTrailingZeros().toPlainString())) {
|
||||
isblargessflag = true;
|
||||
}
|
||||
|
||||
|
@ -2297,16 +2304,18 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
|||
saleorderRequestChildrenDto.setDdeliverdate(generateBusinessDate);//要求收货日期
|
||||
saleorderRequestChildrenDto.setNexchangeotobrate("1.00000000");//折本汇率
|
||||
saleorderRequestChildrenDto.setNitemdiscountrate("100.000000");//单品折扣
|
||||
saleorderRequestChildrenDto.setNnumber(sonDetailsDto.getGroupShipQty().stripTrailingZeros().toPlainString());//数量
|
||||
saleorderRequestChildrenDto.setNnumber(sonDetailsDto.getGroupShipQty().setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString());//数量
|
||||
saleorderRequestChildrenDto.setNoriginalcurdiscountmny("0");//折扣额
|
||||
saleorderRequestChildrenDto.setNoriginalcurmny(noriginalcurmny.stripTrailingZeros().toPlainString());//无税金额
|
||||
// saleorderRequestChildrenDto.setNoriginalcurmny(noriginalcurmny.stripTrailingZeros().toPlainString());//无税金额
|
||||
// saleorderRequestChildrenDto.setNoriginalcurnetprice(noriginalcurprice.stripTrailingZeros().toPlainString());//无税净价
|
||||
// saleorderRequestChildrenDto.setNoriginalcurprice(noriginalcurprice.stripTrailingZeros().toPlainString());//无税单价
|
||||
saleorderRequestChildrenDto.setNoriginalcursummny(noriginalcursummny.stripTrailingZeros().toPlainString());//价税合计
|
||||
saleorderRequestChildrenDto.setNoriginalcurtaxmny(noriginalcurtaxmny.stripTrailingZeros().toPlainString());//税额
|
||||
saleorderRequestChildrenDto.setNoriginalcurtaxnetprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税净价
|
||||
saleorderRequestChildrenDto.setNoriginalcurtaxprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税单价
|
||||
saleorderRequestChildrenDto.setNtaxrate(new BigDecimal(bdTaxitemsEntity1.getTaxratio()).stripTrailingZeros().toPlainString());//税率
|
||||
// saleorderRequestChildrenDto.setNoriginalcursummny(noriginalcursummny.stripTrailingZeros().toPlainString());//价税合计
|
||||
saleorderRequestChildrenDto.setNoriginalcursummny(sonDetailsDto.getGroupTotalPayAmount().setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString());//价税合计 新逻辑
|
||||
|
||||
// saleorderRequestChildrenDto.setNoriginalcurtaxmny(noriginalcurtaxmny.stripTrailingZeros().toPlainString());//税额
|
||||
// saleorderRequestChildrenDto.setNoriginalcurtaxnetprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税净价
|
||||
// saleorderRequestChildrenDto.setNoriginalcurtaxprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税单价
|
||||
// saleorderRequestChildrenDto.setNtaxrate(new BigDecimal(bdTaxitemsEntity1.getTaxratio()).stripTrailingZeros().toPlainString());//税率
|
||||
// saleorderRequestChildrenDto.setCreccalbodyid(bdCalbodyEntity1.getPkCalbody());//收货库存组织:2024年8月7日 16:21:48 和佳妮、道品一起测试,收货库存组织、收货仓库 是不需要传递的
|
||||
// saleorderRequestChildrenDto.setCrecwareid(bdStordocEntity1.getPkStordoc());//收货仓库
|
||||
//如果优惠金额为0,则传0
|
||||
|
@ -2336,23 +2345,23 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
|||
BigDecimal accumulatedPostage = checkPostageFee(oldValue);
|
||||
if (accumulatedPostage != null && accumulatedPostage.compareTo(BigDecimal.ZERO) > 0) {
|
||||
//获取「平台运维」对应的税率
|
||||
String tax2 = "0." + new BigDecimal(bdTaxitemsEntity.getTaxratio()).stripTrailingZeros().toPlainString();
|
||||
BigDecimal noriginalcurprice2 = null;//无税单价
|
||||
BigDecimal noriginalcurmny2 = null;//无税金额
|
||||
BigDecimal noriginalcurtaxprice2 = null;//含税单价
|
||||
BigDecimal noriginalcursummny2 = null;//价税合计
|
||||
BigDecimal noriginalcurtaxmny2 = null;//税额
|
||||
try {
|
||||
//邮费的汇总金额,但是数量永远为1
|
||||
noriginalcurtaxprice2 = accumulatedPostage.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());
|
||||
}
|
||||
// String tax2 = "0." + new BigDecimal(bdTaxitemsEntity.getTaxratio()).stripTrailingZeros().toPlainString();
|
||||
// BigDecimal noriginalcurprice2 = null;//无税单价
|
||||
// BigDecimal noriginalcurmny2 = null;//无税金额
|
||||
// BigDecimal noriginalcurtaxprice2 = null;//含税单价
|
||||
// BigDecimal noriginalcursummny2 = null;//价税合计
|
||||
// BigDecimal noriginalcurtaxmny2 = null;//税额
|
||||
// try {
|
||||
// //邮费的汇总金额,但是数量永远为1
|
||||
// noriginalcurtaxprice2 = accumulatedPostage.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());
|
||||
// }
|
||||
|
||||
//存货管理档案
|
||||
BdInvmandocEntity bdInvmandocEntity1 = stringBdInvmandocEntityMap.get(deliverGoodsCorp.getPkCorp());
|
||||
|
@ -2373,12 +2382,13 @@ public class SoSaleOutPluginInitializerToC extends PluginBaseEntity {
|
|||
saleorderRequestChildrenDto2.setNitemdiscountrate("100.000000");//单品折扣
|
||||
saleorderRequestChildrenDto2.setNnumber("1");//数量
|
||||
saleorderRequestChildrenDto2.setNoriginalcurdiscountmny("0");//折扣额
|
||||
saleorderRequestChildrenDto2.setNoriginalcurmny(noriginalcurmny2.stripTrailingZeros().toPlainString());//无税金额
|
||||
saleorderRequestChildrenDto2.setNoriginalcursummny(noriginalcursummny2.stripTrailingZeros().toPlainString());//价税合计
|
||||
saleorderRequestChildrenDto2.setNoriginalcurtaxmny(noriginalcurtaxmny2.stripTrailingZeros().toPlainString());//税额
|
||||
saleorderRequestChildrenDto2.setNoriginalcurtaxnetprice(noriginalcurtaxprice2.stripTrailingZeros().toPlainString());//含税净价
|
||||
saleorderRequestChildrenDto2.setNoriginalcurtaxprice(noriginalcurtaxprice2.stripTrailingZeros().toPlainString());//含税单价
|
||||
saleorderRequestChildrenDto2.setNtaxrate(new BigDecimal(bdTaxitemsEntity.getTaxratio()).stripTrailingZeros().toPlainString());//税率,对应运维存货的税率
|
||||
// saleorderRequestChildrenDto2.setNoriginalcurmny(noriginalcurmny2.stripTrailingZeros().toPlainString());//无税金额
|
||||
// saleorderRequestChildrenDto2.setNoriginalcursummny(noriginalcursummny2.stripTrailingZeros().toPlainString());//价税合计
|
||||
saleorderRequestChildrenDto2.setNoriginalcursummny(accumulatedPostage.setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString());//价税合计 新逻辑
|
||||
// saleorderRequestChildrenDto2.setNoriginalcurtaxmny(noriginalcurtaxmny2.stripTrailingZeros().toPlainString());//税额
|
||||
// saleorderRequestChildrenDto2.setNoriginalcurtaxnetprice(noriginalcurtaxprice2.stripTrailingZeros().toPlainString());//含税净价
|
||||
// saleorderRequestChildrenDto2.setNoriginalcurtaxprice(noriginalcurtaxprice2.stripTrailingZeros().toPlainString());//含税单价
|
||||
// saleorderRequestChildrenDto2.setNtaxrate(new BigDecimal(bdTaxitemsEntity.getTaxratio()).stripTrailingZeros().toPlainString());//税率,对应运维存货的税率
|
||||
saleorderRequestChildrenDto2.setVdef4("0");
|
||||
saleorderRequestChildrenDto2.setVdef5("0");
|
||||
saleorderRequestChildrenDto2.setVdef6("0");
|
||||
|
|
|
@ -779,23 +779,24 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity {
|
|||
}
|
||||
|
||||
StringBuffer calculationFormula = new StringBuffer();//计算公式
|
||||
BigDecimal noriginalcurprice = null;//无税单价
|
||||
BigDecimal noriginalcurmny = null;//无税金额
|
||||
BigDecimal noriginalcurtaxprice = null;//含税单价
|
||||
BigDecimal noriginalcursummny = null;//价税合计
|
||||
BigDecimal noriginalcurtaxmny = null;//税额
|
||||
// BigDecimal noriginalcurprice = null;//无税单价
|
||||
// BigDecimal noriginalcurmny = null;//无税金额
|
||||
// BigDecimal noriginalcurtaxprice = null;//含税单价
|
||||
// BigDecimal noriginalcursummny = null;//价税合计
|
||||
// BigDecimal noriginalcurtaxmny = null;//税额
|
||||
String totalAmount = null;
|
||||
try {
|
||||
// Assert.notNull(stockinB.getTotalAmount(), "退货入库单总金额不能为空 明细行对象:{}", JSON.toJSONString(stockinB));
|
||||
Assert.notNull(stockinB.getReceivedQty(), "实收数量不能为空 售后订单:{} 售后订单主键:{}", header.getCode(), stockinB.getId());
|
||||
//确定实退金额,可能为O的实退金额,也可能是结存价和采购价
|
||||
totalAmount = getFloorPrice(isCheckShopChoose, bdInvmandocEntity, header, afterSalesOrder, calculationFormula, stockinB, bdInvbasdocEntity);
|
||||
Assert.notNull(totalAmount, "无法确定实退金额");
|
||||
|
||||
noriginalcurtaxprice = new BigDecimal(totalAmount).divide(new BigDecimal(stockinB.getReceivedQty()), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcurprice = noriginalcurtaxprice.divide(new BigDecimal(1).add(new BigDecimal(tax)), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcurmny = noriginalcurprice.multiply(new BigDecimal(stockinB.getReceivedQty())).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcursummny = noriginalcurtaxprice.multiply(new BigDecimal(stockinB.getReceivedQty())).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcurtaxmny = noriginalcursummny.subtract(noriginalcurmny).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
// noriginalcurtaxprice = new BigDecimal(totalAmount).divide(new BigDecimal(stockinB.getReceivedQty()), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP);
|
||||
// noriginalcurprice = noriginalcurtaxprice.divide(new BigDecimal(1).add(new BigDecimal(tax)), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP);
|
||||
// noriginalcurmny = noriginalcurprice.multiply(new BigDecimal(stockinB.getReceivedQty())).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
// noriginalcursummny = noriginalcurtaxprice.multiply(new BigDecimal(stockinB.getReceivedQty())).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
// noriginalcurtaxmny = noriginalcursummny.subtract(noriginalcurmny).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
} catch (Exception e) {
|
||||
logger.error("TOB金额计算错误", e);
|
||||
Assert.state(false, "TOB金额计算错误,原因:{}", e.getMessage());
|
||||
|
@ -803,10 +804,9 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity {
|
|||
|
||||
//判断是否为赠品
|
||||
Boolean isblargessflag = false;
|
||||
if (noriginalcursummny.longValue() == 0) {
|
||||
if ("0".equals(new BigDecimal(totalAmount).stripTrailingZeros().toPlainString())) {
|
||||
isblargessflag = true;
|
||||
}
|
||||
|
||||
SaleorderRequestChildrenDto saleorderRequestChildrenDto = new SaleorderRequestChildrenDto();
|
||||
saleorderRequestChildrenDto.setBlargessflag(isblargessflag);//是否赠品
|
||||
saleorderRequestChildrenDto.setCadvisecalbodyid(bdCalbodyEntity.getPkCalbody());//发货库存组织
|
||||
|
@ -821,14 +821,15 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity {
|
|||
saleorderRequestChildrenDto.setNitemdiscountrate("100.000000");//单品折扣
|
||||
saleorderRequestChildrenDto.setNnumber("-" + stockinB.getReceivedQty());//数量
|
||||
saleorderRequestChildrenDto.setNoriginalcurdiscountmny("0");//折扣额
|
||||
saleorderRequestChildrenDto.setNoriginalcurmny("-" + noriginalcurmny.stripTrailingZeros().toPlainString());//无税金额
|
||||
// saleorderRequestChildrenDto.setNoriginalcurmny("-" + noriginalcurmny.stripTrailingZeros().toPlainString());//无税金额
|
||||
// saleorderRequestChildrenDto.setNoriginalcurnetprice(noriginalcurprice.stripTrailingZeros().toPlainString());//无税净价
|
||||
// saleorderRequestChildrenDto.setNoriginalcurprice(noriginalcurprice.stripTrailingZeros().toPlainString());//无税单价
|
||||
saleorderRequestChildrenDto.setNoriginalcursummny("-" + noriginalcursummny.stripTrailingZeros().toPlainString());//价税合计
|
||||
saleorderRequestChildrenDto.setNoriginalcurtaxmny("-" + noriginalcurtaxmny.stripTrailingZeros().toPlainString());//税额
|
||||
saleorderRequestChildrenDto.setNoriginalcurtaxnetprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税净价
|
||||
saleorderRequestChildrenDto.setNoriginalcurtaxprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税单价
|
||||
saleorderRequestChildrenDto.setNtaxrate(new BigDecimal(bdTaxitemsEntity1.getTaxratio()).stripTrailingZeros().toPlainString());//税率
|
||||
// saleorderRequestChildrenDto.setNoriginalcursummny("-" + noriginalcursummny.stripTrailingZeros().toPlainString());//价税合计
|
||||
saleorderRequestChildrenDto.setNoriginalcursummny("-" + new BigDecimal(totalAmount).setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString());//价税合计 新逻辑
|
||||
// saleorderRequestChildrenDto.setNoriginalcurtaxmny("-" + noriginalcurtaxmny.stripTrailingZeros().toPlainString());//税额
|
||||
// saleorderRequestChildrenDto.setNoriginalcurtaxnetprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税净价
|
||||
// saleorderRequestChildrenDto.setNoriginalcurtaxprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税单价
|
||||
// saleorderRequestChildrenDto.setNtaxrate(new BigDecimal(bdTaxitemsEntity1.getTaxratio()).stripTrailingZeros().toPlainString());//税率
|
||||
saleorderRequestChildrenDto.setVdef20(stockinB.getId());//原单明细主键
|
||||
// saleorderRequestChildrenDto.setVdef2(bdCostsubjEntity.getCostname());//收支项目
|
||||
// saleorderRequestChildrenDto.setPk_defdoc2(bdCostsubjEntity.getPkCostsubj());
|
||||
|
@ -1857,19 +1858,19 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity {
|
|||
StringBuffer calculationFormula = new StringBuffer();
|
||||
// calculationFormula.append("O实退金额");
|
||||
//含税单价
|
||||
BigDecimal noriginalcurtaxprice = null;
|
||||
// BigDecimal noriginalcurtaxprice = null;
|
||||
String totalPayAmount = null;
|
||||
try {
|
||||
//综合判断对应的目标金额
|
||||
totalPayAmount = getFloorPrice(isCheckShopChoose, bdInvmandocEntity, header, afterSalesOrder, calculationFormula, stockinB, bdInvbasdocEntity);
|
||||
noriginalcurtaxprice = new BigDecimal(totalPayAmount).divide(new BigDecimal(stockinB.getReceivedQty()), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP);
|
||||
// noriginalcurtaxprice = new BigDecimal(totalPayAmount).divide(new BigDecimal(stockinB.getReceivedQty()), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP);
|
||||
} catch (Exception e) {
|
||||
logger.error("含税单价金额计算失败!", e);
|
||||
Assert.state(false, "含税单价金额计算失败 原因:{}", e.getMessage());
|
||||
}
|
||||
|
||||
Boolean isblargessflag = false;
|
||||
if (noriginalcurtaxprice == null) {
|
||||
if ("0".equals(new BigDecimal(totalPayAmount).stripTrailingZeros().toPlainString())) {
|
||||
isblargessflag = true;
|
||||
}
|
||||
|
||||
|
@ -1877,10 +1878,11 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity {
|
|||
salesInvoiceBodyDto.setCinventoryid(bdInvmandocEntity.getPkInvmandoc());
|
||||
salesInvoiceBodyDto.setCupreceipttype("4C");
|
||||
salesInvoiceBodyDto.setCupsourcebillcode(soSaleEntity.getVreceiptcode());
|
||||
salesInvoiceBodyDto.setNnumber("-" + stockinB.getReceivedQty());
|
||||
salesInvoiceBodyDto.setNoriginalcurtaxprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税单价
|
||||
salesInvoiceBodyDto.setNnumber("-" + stockinB.getReceivedQty());//数量
|
||||
// salesInvoiceBodyDto.setNoriginalcurtaxprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税单价
|
||||
salesInvoiceBodyDto.setNoriginalcursummny("-" + new BigDecimal(totalPayAmount).setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString());//价税合计 新逻辑
|
||||
salesInvoiceBodyDto.setNtaxrate(new BigDecimal(bdTaxitemsEntity1.getTaxratio()).stripTrailingZeros().toPlainString());//税率
|
||||
salesInvoiceBodyDto.setBlargessflag(isblargessflag);
|
||||
salesInvoiceBodyDto.setBlargessflag(isblargessflag);//是否赠品
|
||||
salesInvoiceBodyDto.setCoriginalbillcode(soSaleEntity.getVreceiptcode());//源头单据号
|
||||
salesInvoiceBodyDto.setCsourcebillbodyid(sourceDocumentsV2.getCorderBid());//源头单据明细行主键 (数据字典上是来源单据明细行主键,实际上是源头)
|
||||
salesInvoiceBodyDto.setCsourcebillid(soSaleEntity.getCsaleid());//源头单据主表主键(数据字典上是来源单据主表主键,实际上是源头)
|
||||
|
|
|
@ -703,27 +703,27 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
|
|||
// BdInvclEntity bdInvclEntity = queryU8CEntityUtil.queryBdInvbasdocByBdInvcl(bdInvbasdocEntity);
|
||||
// BdCostsubjEntity bdCostsubjEntity = queryU8CEntityUtil.queryBdCostsubj(bdInvclEntity);
|
||||
|
||||
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;//含税单价
|
||||
BigDecimal noriginalcursummny = null;//价税合计
|
||||
BigDecimal noriginalcurtaxmny = null;//税额=价税合计-无税金额
|
||||
try {
|
||||
noriginalcurtaxprice = goodsRertunSonDetailsDto.getGroupTotalPayAmount().divide(goodsRertunSonDetailsDto.getGroupShipQty(), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcurprice = noriginalcurtaxprice.divide(new BigDecimal(1).add(new BigDecimal(tax)), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcurmny = noriginalcurprice.multiply(goodsRertunSonDetailsDto.getGroupShipQty()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcursummny = noriginalcurtaxprice.multiply(goodsRertunSonDetailsDto.getGroupShipQty()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcurtaxmny = noriginalcursummny.subtract(noriginalcurmny).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
} catch (Exception e) {
|
||||
logger.error("TOC金额计算错误", e);
|
||||
Assert.state(false, "U8C红字销售订单,金额计算错误,原因:{}", e.getMessage());
|
||||
}
|
||||
// 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;//含税单价
|
||||
// BigDecimal noriginalcursummny = null;//价税合计
|
||||
// BigDecimal noriginalcurtaxmny = null;//税额=价税合计-无税金额
|
||||
// try {
|
||||
// noriginalcurtaxprice = goodsRertunSonDetailsDto.getGroupTotalPayAmount().divide(goodsRertunSonDetailsDto.getGroupShipQty(), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP);
|
||||
// noriginalcurprice = noriginalcurtaxprice.divide(new BigDecimal(1).add(new BigDecimal(tax)), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP);
|
||||
// noriginalcurmny = noriginalcurprice.multiply(goodsRertunSonDetailsDto.getGroupShipQty()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
// noriginalcursummny = noriginalcurtaxprice.multiply(goodsRertunSonDetailsDto.getGroupShipQty()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
// noriginalcurtaxmny = noriginalcursummny.subtract(noriginalcurmny).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
// } catch (Exception e) {
|
||||
// logger.error("TOC金额计算错误", e);
|
||||
// Assert.state(false, "U8C红字销售订单,金额计算错误,原因:{}", e.getMessage());
|
||||
// }
|
||||
|
||||
//判断是否为赠品
|
||||
Boolean isblargessflag = false;
|
||||
if (noriginalcursummny.longValue() == 0) {
|
||||
if ("0".equals(goodsRertunSonDetailsDto.getGroupTotalPayAmount().stripTrailingZeros().toPlainString())) {
|
||||
isblargessflag = true;
|
||||
}
|
||||
|
||||
|
@ -741,14 +741,15 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
|
|||
saleorderRequestChildrenDto.setNitemdiscountrate("100.000000");//单品折扣
|
||||
saleorderRequestChildrenDto.setNnumber("-" + goodsRertunSonDetailsDto.getGroupShipQty().stripTrailingZeros().toPlainString());//数量
|
||||
saleorderRequestChildrenDto.setNoriginalcurdiscountmny("0");//折扣额
|
||||
saleorderRequestChildrenDto.setNoriginalcurmny("-" + noriginalcurmny.stripTrailingZeros().toPlainString());//无税金额
|
||||
// saleorderRequestChildrenDto.setNoriginalcurmny("-" + noriginalcurmny.stripTrailingZeros().toPlainString());//无税金额
|
||||
// saleorderRequestChildrenDto.setNoriginalcurnetprice(noriginalcurprice.stripTrailingZeros().toPlainString());//无税净价
|
||||
// saleorderRequestChildrenDto.setNoriginalcurprice(noriginalcurprice.stripTrailingZeros().toPlainString());//无税单价
|
||||
saleorderRequestChildrenDto.setNoriginalcursummny("-" + noriginalcursummny.stripTrailingZeros().toPlainString());//价税合计
|
||||
saleorderRequestChildrenDto.setNoriginalcurtaxmny("-" + noriginalcurtaxmny.stripTrailingZeros().toPlainString());//税额
|
||||
saleorderRequestChildrenDto.setNoriginalcurtaxnetprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税净价
|
||||
saleorderRequestChildrenDto.setNoriginalcurtaxprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税单价
|
||||
saleorderRequestChildrenDto.setNtaxrate(new BigDecimal(bdTaxitemsEntity1.getTaxratio()).stripTrailingZeros().toPlainString());//税率
|
||||
// saleorderRequestChildrenDto.setNoriginalcursummny("-" + noriginalcursummny.stripTrailingZeros().toPlainString());//价税合计
|
||||
saleorderRequestChildrenDto.setNoriginalcursummny("-" + goodsRertunSonDetailsDto.getGroupTotalPayAmount().setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString());//价税合计 新逻辑
|
||||
// saleorderRequestChildrenDto.setNoriginalcurtaxmny("-" + noriginalcurtaxmny.stripTrailingZeros().toPlainString());//税额
|
||||
// saleorderRequestChildrenDto.setNoriginalcurtaxnetprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税净价
|
||||
// saleorderRequestChildrenDto.setNoriginalcurtaxprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税单价
|
||||
// saleorderRequestChildrenDto.setNtaxrate(new BigDecimal(bdTaxitemsEntity1.getTaxratio()).stripTrailingZeros().toPlainString());//税率
|
||||
// saleorderRequestChildrenDto.setVdef2(bdCostsubjEntity.getCostname());//收支项目
|
||||
// saleorderRequestChildrenDto.setPk_defdoc2(bdCostsubjEntity.getPkCostsubj());
|
||||
//如果优惠金额为0,则传0
|
||||
|
@ -819,8 +820,9 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
|
|||
* @author liuyang
|
||||
*/
|
||||
private void implementTran(List<StockinOrderSearchResponse.StockinOrder> returnGoodHeaderDetailsDataDtoList1) throws Exception {
|
||||
logger.info("TOC退货业务:{}行需要进行数据转换", returnGoodHeaderDetailsDataDtoList1.size());
|
||||
if (returnGoodHeaderDetailsDataDtoList1 != null && returnGoodHeaderDetailsDataDtoList1.size() > 0) {
|
||||
logger.info("TOC退货业务:{}行需要进行数据转换", returnGoodHeaderDetailsDataDtoList1.size());
|
||||
|
||||
try {
|
||||
// 查询基本档案
|
||||
String sceneType = "tran";
|
||||
|
@ -916,27 +918,27 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
|
|||
// BdInvclEntity bdInvclEntity = queryU8CEntityUtil.queryBdInvbasdocByBdInvcl(bdInvbasdocEntity);
|
||||
// BdCostsubjEntity bdCostsubjEntity = queryU8CEntityUtil.queryBdCostsubj(bdInvclEntity);
|
||||
|
||||
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;//含税单价
|
||||
BigDecimal noriginalcursummny = null;//价税合计
|
||||
BigDecimal noriginalcurtaxmny = null;//税额=价税合计-无税金额
|
||||
try {
|
||||
noriginalcurtaxprice = goodsRertunSonDetailsDto.getGroupTotalPayAmount().divide(goodsRertunSonDetailsDto.getGroupShipQty(), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcurprice = noriginalcurtaxprice.divide(new BigDecimal(1).add(new BigDecimal(tax)), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcurmny = noriginalcurprice.multiply(goodsRertunSonDetailsDto.getGroupShipQty()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcursummny = noriginalcurtaxprice.multiply(goodsRertunSonDetailsDto.getGroupShipQty()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
noriginalcurtaxmny = noriginalcursummny.subtract(noriginalcurmny).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
} catch (Exception e) {
|
||||
logger.error("TOC退货-确认收入,金额计算错误", e);
|
||||
Assert.state(false, "U8C红字销售订单,金额计算错误,原因:{}", e.getMessage());
|
||||
}
|
||||
// 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;//含税单价
|
||||
// BigDecimal noriginalcursummny = null;//价税合计
|
||||
// BigDecimal noriginalcurtaxmny = null;//税额=价税合计-无税金额
|
||||
// try {
|
||||
// noriginalcurtaxprice = goodsRertunSonDetailsDto.getGroupTotalPayAmount().divide(goodsRertunSonDetailsDto.getGroupShipQty(), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP);
|
||||
// noriginalcurprice = noriginalcurtaxprice.divide(new BigDecimal(1).add(new BigDecimal(tax)), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP);
|
||||
// noriginalcurmny = noriginalcurprice.multiply(goodsRertunSonDetailsDto.getGroupShipQty()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
// noriginalcursummny = noriginalcurtaxprice.multiply(goodsRertunSonDetailsDto.getGroupShipQty()).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
// noriginalcurtaxmny = noriginalcursummny.subtract(noriginalcurmny).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||
// } catch (Exception e) {
|
||||
// logger.error("TOC退货-确认收入,金额计算错误", e);
|
||||
// Assert.state(false, "U8C红字销售订单,金额计算错误,原因:{}", e.getMessage());
|
||||
// }
|
||||
|
||||
//判断是否为赠品
|
||||
Boolean isblargessflag = false;
|
||||
if (noriginalcursummny.longValue() == 0) {
|
||||
if ("0".equals(goodsRertunSonDetailsDto.getGroupTotalPayAmount().stripTrailingZeros().toPlainString())) {
|
||||
isblargessflag = true;
|
||||
}
|
||||
|
||||
|
@ -954,14 +956,15 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
|
|||
saleorderRequestChildrenDto.setNitemdiscountrate("100.000000");//单品折扣
|
||||
saleorderRequestChildrenDto.setNnumber("-" + goodsRertunSonDetailsDto.getGroupShipQty().stripTrailingZeros().toPlainString());//数量
|
||||
saleorderRequestChildrenDto.setNoriginalcurdiscountmny("0");//折扣额
|
||||
saleorderRequestChildrenDto.setNoriginalcurmny("-" + noriginalcurmny.stripTrailingZeros().toPlainString());//无税金额
|
||||
// saleorderRequestChildrenDto.setNoriginalcurmny("-" + noriginalcurmny.stripTrailingZeros().toPlainString());//无税金额
|
||||
// saleorderRequestChildrenDto.setNoriginalcurnetprice(noriginalcurprice.stripTrailingZeros().toPlainString());//无税净价
|
||||
// saleorderRequestChildrenDto.setNoriginalcurprice(noriginalcurprice.stripTrailingZeros().toPlainString());//无税单价
|
||||
saleorderRequestChildrenDto.setNoriginalcursummny("-" + noriginalcursummny.stripTrailingZeros().toPlainString());//价税合计
|
||||
saleorderRequestChildrenDto.setNoriginalcurtaxmny("-" + noriginalcurtaxmny.stripTrailingZeros().toPlainString());//税额
|
||||
saleorderRequestChildrenDto.setNoriginalcurtaxnetprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税净价
|
||||
saleorderRequestChildrenDto.setNoriginalcurtaxprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税单价
|
||||
saleorderRequestChildrenDto.setNtaxrate(new BigDecimal(bdTaxitemsEntity1.getTaxratio()).stripTrailingZeros().toPlainString());//税率
|
||||
// saleorderRequestChildrenDto.setNoriginalcursummny("-" + noriginalcursummny.stripTrailingZeros().toPlainString());//价税合计
|
||||
saleorderRequestChildrenDto.setNoriginalcursummny("-" + goodsRertunSonDetailsDto.getGroupTotalPayAmount().setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString());//价税合计 新逻辑
|
||||
// saleorderRequestChildrenDto.setNoriginalcurtaxmny("-" + noriginalcurtaxmny.stripTrailingZeros().toPlainString());//税额
|
||||
// saleorderRequestChildrenDto.setNoriginalcurtaxnetprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税净价
|
||||
// saleorderRequestChildrenDto.setNoriginalcurtaxprice(noriginalcurtaxprice.stripTrailingZeros().toPlainString());//含税单价
|
||||
// saleorderRequestChildrenDto.setNtaxrate(new BigDecimal(bdTaxitemsEntity1.getTaxratio()).stripTrailingZeros().toPlainString());//税率
|
||||
// saleorderRequestChildrenDto.setVdef2(bdCostsubjEntity.getCostname());//收支项目
|
||||
// saleorderRequestChildrenDto.setPk_defdoc2(bdCostsubjEntity.getPkCostsubj());
|
||||
//如果优惠金额为0,则传0
|
||||
|
|
|
@ -112,7 +112,7 @@ class SoSaleOutPluginInitializerToCTest {
|
|||
// String aaa = "LETS-SH2024102800021196";
|
||||
// soSaleOutPluginInitializerToC.startImplementTranByTime("2024-11-23 11:24:33", "2024-11-23 11:24:33");
|
||||
|
||||
// soSaleOutPluginInitializerToC.startImplementStockByTime("2024-11-15 00:00:00", "2024-11-15 23:59:59");
|
||||
soSaleOutPluginInitializerToC.startImplementStockByTime("2024-11-15 00:00:00", "2024-11-15 23:59:59");
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
@ -120,7 +120,7 @@ class SoSaleOutPluginInitializerToCTest {
|
|||
// soSaleOutPluginInitializerToC.sendU8CTOCOrder("123446");
|
||||
|
||||
try {
|
||||
soSaleOutPluginInitializerToC.startImplementStockByCode("LETS-SH2024110100000024", "tran");
|
||||
// soSaleOutPluginInitializerToC.startImplementStockByCode("LETS-SH2024110100000024", "tran");
|
||||
// soSaleOutPluginInitializerToC.startImplementStockByCode("LETS-SH2024110500013375", "tran");
|
||||
|
||||
// soSaleOutPluginInitializerToC.startImplementStockByCode("LETS-SH2024111700013756", "tran");
|
||||
|
|
Loading…
Reference in New Issue