fix(sales): 优化售后无源入库单生成红字应收单的逻辑
- 增加对合并后金额为 0 的判断,避免传递无效数据到 U8C - 移除税率计算相关代码,简化逻辑 - 新增 filterForSale 方法,过滤掉售中节点的售后订单- 更新测试用例,使用实际订单编号进行测试
This commit is contained in:
parent
84a04f0fdc
commit
08720c627f
|
@ -1018,29 +1018,36 @@ public class PassiveWarehouseReceiptToC extends PluginBaseEntity {
|
||||||
//根据存货基础档案编码,查询当前存货的税率
|
//根据存货基础档案编码,查询当前存货的税率
|
||||||
BdTaxitemsEntity bdTaxitemsEntity1 = value.get(0).getBdTaxitemsEntity();
|
BdTaxitemsEntity bdTaxitemsEntity1 = value.get(0).getBdTaxitemsEntity();
|
||||||
|
|
||||||
String tax = null;//税率
|
//如果合并后的金额为0,则不传到U8C
|
||||||
BigDecimal noriginalcurmny = null;//无税金额
|
Assert.notNull(passiveStorageSonDetailsDto.getGroupTotalPayAmount(), "passiveStorageSonDetailsDto.getGroupTotalPayAmount()不能为空!");
|
||||||
BigDecimal noriginalcurtaxmny = null;//税额
|
BigDecimal groupTotalPayAmount = passiveStorageSonDetailsDto.getGroupTotalPayAmount().setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||||
try {
|
if ("0".equals(groupTotalPayAmount.stripTrailingZeros().toPlainString())) {
|
||||||
tax = new BigDecimal(bdTaxitemsEntity1.getTaxratio()).divide(new BigDecimal(100), 20, BigDecimal.ROUND_HALF_UP).setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString();
|
continue;
|
||||||
noriginalcurmny = passiveStorageSonDetailsDto.getGroupTotalPayAmount().divide(new BigDecimal(1).add(new BigDecimal(tax)), 20, BigDecimal.ROUND_HALF_UP).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
||||||
noriginalcurtaxmny = passiveStorageSonDetailsDto.getGroupTotalPayAmount().subtract(noriginalcurmny).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
||||||
} catch (Exception e) {
|
|
||||||
logger.error("金额计算失败", e);
|
|
||||||
Assert.state(false, "金额计算失败 跑出异常:{}", e.getMessage());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// String tax = null;//税率
|
||||||
|
// BigDecimal noriginalcurmny = null;//无税金额
|
||||||
|
// BigDecimal noriginalcurtaxmny = null;//税额
|
||||||
|
// try {
|
||||||
|
// tax = new BigDecimal(bdTaxitemsEntity1.getTaxratio()).divide(new BigDecimal(100), 20, BigDecimal.ROUND_HALF_UP).setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString();
|
||||||
|
// noriginalcurmny = groupTotalPayAmount.divide(new BigDecimal(1).add(new BigDecimal(tax)), 20, BigDecimal.ROUND_HALF_UP).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||||
|
// noriginalcurtaxmny = groupTotalPayAmount.subtract(noriginalcurmny).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||||
|
// } catch (Exception e) {
|
||||||
|
// logger.error("金额计算失败", e);
|
||||||
|
// Assert.state(false, "金额计算失败 跑出异常:{}", e.getMessage());
|
||||||
|
// }
|
||||||
|
|
||||||
//组装应收单表体
|
//组装应收单表体
|
||||||
List<ArapDjzbVO.Childrenn> pushScenarioType = new ArrayList<>();
|
List<ArapDjzbVO.Childrenn> pushScenarioType = new ArrayList<>();
|
||||||
ArapDjzbVO.Childrenn arapDjzbVOChildrenn = new ArapDjzbVO.Childrenn();
|
ArapDjzbVO.Childrenn arapDjzbVOChildrenn = new ArapDjzbVO.Childrenn();
|
||||||
pushScenarioType.add(arapDjzbVOChildrenn);
|
pushScenarioType.add(arapDjzbVOChildrenn);
|
||||||
arapDjzbVOChildrenn.setCinventoryid(bdInvbasdocEntity.getInvcode());//存货管理档案
|
arapDjzbVOChildrenn.setCinventoryid(bdInvbasdocEntity.getInvcode());//存货管理档案
|
||||||
arapDjzbVOChildrenn.setJfbbje("-" + passiveStorageSonDetailsDto.getGroupTotalPayAmount());//借方本币金额
|
arapDjzbVOChildrenn.setJfbbje("-" + groupTotalPayAmount.stripTrailingZeros().toPlainString());//借方本币金额
|
||||||
arapDjzbVOChildrenn.setJfybje("-" + passiveStorageSonDetailsDto.getGroupTotalPayAmount());//借方原币金额
|
arapDjzbVOChildrenn.setJfybje("-" + groupTotalPayAmount.stripTrailingZeros().toPlainString());//借方原币金额
|
||||||
arapDjzbVOChildrenn.setJfbbsj("-" + noriginalcurmny.stripTrailingZeros().toPlainString());//借方本币税金
|
// arapDjzbVOChildrenn.setJfbbsj("-" + noriginalcurmny.stripTrailingZeros().toPlainString());//借方本币税金
|
||||||
arapDjzbVOChildrenn.setJfybsj("-" + noriginalcurmny.stripTrailingZeros().toPlainString());//借方原币税金
|
// arapDjzbVOChildrenn.setJfybsj("-" + noriginalcurmny.stripTrailingZeros().toPlainString());//借方原币税金
|
||||||
arapDjzbVOChildrenn.setWbfbbje("-" + noriginalcurtaxmny.stripTrailingZeros().toPlainString());//借方本币无税金额
|
// arapDjzbVOChildrenn.setWbfbbje("-" + noriginalcurtaxmny.stripTrailingZeros().toPlainString());//借方本币无税金额
|
||||||
arapDjzbVOChildrenn.setJfybwsje("-" + noriginalcurtaxmny.stripTrailingZeros().toPlainString());//借方原币无税金额
|
// arapDjzbVOChildrenn.setJfybwsje("-" + noriginalcurtaxmny.stripTrailingZeros().toPlainString());//借方原币无税金额
|
||||||
|
|
||||||
//退货没有邮费金额,已经向万万确认
|
//退货没有邮费金额,已经向万万确认
|
||||||
//平台优惠
|
//平台优惠
|
||||||
|
@ -1237,6 +1244,7 @@ public class PassiveWarehouseReceiptToC extends PluginBaseEntity {
|
||||||
findAfterSalesOrder(rerturnGoodsOrderSearchData, passiveStorageResponseDataList);
|
findAfterSalesOrder(rerturnGoodsOrderSearchData, passiveStorageResponseDataList);
|
||||||
if ("tran".equals(sceneType)) {
|
if ("tran".equals(sceneType)) {
|
||||||
passiveStorageResponseDataList = filterAfterSalesOrder(passiveStorageResponseDataList);
|
passiveStorageResponseDataList = filterAfterSalesOrder(passiveStorageResponseDataList);
|
||||||
|
passiveStorageResponseDataList = filterForSale(passiveStorageResponseDataList);
|
||||||
}
|
}
|
||||||
|
|
||||||
//查询OFS售后订单对应的OFS销售订单
|
//查询OFS售后订单对应的OFS销售订单
|
||||||
|
@ -1261,6 +1269,11 @@ public class PassiveWarehouseReceiptToC extends PluginBaseEntity {
|
||||||
Assert.notNull(rerturnGoodsOrderSearchData1, "无法关联到OFS售后订单 售后无源入库单:{}", header.getReceiptCode().trim());
|
Assert.notNull(rerturnGoodsOrderSearchData1, "无法关联到OFS售后订单 售后无源入库单:{}", header.getReceiptCode().trim());
|
||||||
RerturnGoodsOrderSearchHeader header2 = rerturnGoodsOrderSearchData1.getHeader();
|
RerturnGoodsOrderSearchHeader header2 = rerturnGoodsOrderSearchData1.getHeader();
|
||||||
List<RerturnGoodsOrderSearchDetails> details2 = rerturnGoodsOrderSearchData1.getDetails();
|
List<RerturnGoodsOrderSearchDetails> details2 = rerturnGoodsOrderSearchData1.getDetails();
|
||||||
|
|
||||||
|
//测试3个要传给u8c的优惠金额
|
||||||
|
// details2.get(0).setPlatformDiscounts("1.12");
|
||||||
|
// details2.get(0).setExpertDiscounts("0.543");
|
||||||
|
// details2.get(0).setMerchantDiscounts("4.54");
|
||||||
//用于抛出异常时,记录交易成功时间
|
//用于抛出异常时,记录交易成功时间
|
||||||
// transactionDate = header2.getRefundedAt();
|
// transactionDate = header2.getRefundedAt();
|
||||||
|
|
||||||
|
@ -2442,7 +2455,7 @@ public class PassiveWarehouseReceiptToC extends PluginBaseEntity {
|
||||||
Assert.notNull(passiveStorageResponseDataDtoArrayList, "returnGoodHeaderDetailsDataDtoArrayList不能为空");
|
Assert.notNull(passiveStorageResponseDataDtoArrayList, "returnGoodHeaderDetailsDataDtoArrayList不能为空");
|
||||||
|
|
||||||
List<PassiveStorageResponse.Data> passiveStorageResponseData = new ArrayList<>();
|
List<PassiveStorageResponse.Data> passiveStorageResponseData = new ArrayList<>();
|
||||||
if (ofsPassiveorderDetailEntityList != null && passiveStorageResponseDataDtoArrayList != null && ofsPassiveorderDetailEntityList.size() > 0) {
|
if (ofsPassiveorderDetailEntityList != null && passiveStorageResponseDataDtoArrayList != null) {
|
||||||
List<OfsPassiveorderDetailEntity> collect = ofsPassiveorderDetailEntityList.stream().map(obj -> {
|
List<OfsPassiveorderDetailEntity> collect = ofsPassiveorderDetailEntityList.stream().map(obj -> {
|
||||||
if (obj.getNewstate2() == null) {
|
if (obj.getNewstate2() == null) {
|
||||||
obj.setNewstate2("");
|
obj.setNewstate2("");
|
||||||
|
@ -3095,4 +3108,36 @@ public class PassiveWarehouseReceiptToC extends PluginBaseEntity {
|
||||||
}
|
}
|
||||||
return filteredList;
|
return filteredList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 如果无源入库单对应的售后订单状态为售中节点,则过滤掉不传递
|
||||||
|
*
|
||||||
|
* @param passiveStorageResponseDataList 无源入库单
|
||||||
|
* @throws Exception 抛出可能的异常
|
||||||
|
* @author liuyang
|
||||||
|
*/
|
||||||
|
public List<PassiveStorageResponse.Data> filterForSale(List<PassiveStorageResponse.Data> passiveStorageResponseDataList) throws Exception {
|
||||||
|
List<PassiveStorageResponse.Data> filteredList = null;
|
||||||
|
if (passiveStorageResponseDataList != null && passiveStorageResponseDataList.size() > 0) {
|
||||||
|
filteredList = passiveStorageResponseDataList.stream().filter(stockinOrder -> {
|
||||||
|
PassiveStorageResponse.Header header = stockinOrder.getHeader();
|
||||||
|
if (header == null) {
|
||||||
|
// 如果 StockinH 为空,保留该对象
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
RerturnGoodsOrderSearchData returnData = header.getRerturnGoodsOrderSearchData();
|
||||||
|
if (returnData == null || returnData.getHeader() == null) {
|
||||||
|
// 如果 RerturnGoodsOrderSearchData 为空,保留该对象
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if (returnData.getHeader().getReturnNode() == null) {
|
||||||
|
// 如果 RerturnGoodsOrderSearchData 为空,保留该对象
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
// 检查 returnNode 是否不等于 200,若不等于则保留
|
||||||
|
return !"200".equals(returnData.getHeader().getReturnNode().trim());
|
||||||
|
}).collect(Collectors.toList());
|
||||||
|
}
|
||||||
|
return filteredList;
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -100,7 +100,7 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
|
||||||
// return "OFS售后入库单(TOC)生成U8C红字销售订单";
|
// return "OFS售后入库单(TOC)生成U8C红字销售订单";
|
||||||
return "OFS售后入库单(TOC)生成U8C红字销售订单或应收单";
|
return "OFS售后入库单(TOC)生成U8C红字销售订单或应收单";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getPluginLabel() {
|
public String getPluginLabel() {
|
||||||
// return "OFS售后入库单(TOC)生成U8C红字销售订单";
|
// return "OFS售后入库单(TOC)生成U8C红字销售订单";
|
||||||
|
@ -1187,13 +1187,20 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity {
|
||||||
// }
|
// }
|
||||||
// saleorderRequestChildrenDtoList.add(saleorderRequestChildrenDto);
|
// saleorderRequestChildrenDtoList.add(saleorderRequestChildrenDto);
|
||||||
|
|
||||||
|
//如果合并后的金额为0,则不传到U8C
|
||||||
|
Assert.notNull(goodsRertunSonDetailsDto.getGroupTotalPayAmount(), "goodsRertunSonDetailsDto.getGroupTotalPayAmount()不能为空!");
|
||||||
|
BigDecimal groupTotalPayAmount = goodsRertunSonDetailsDto.getGroupTotalPayAmount().setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||||
|
if ("0".equals(groupTotalPayAmount.stripTrailingZeros().toPlainString())) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
//修改为生成红字应收单表体
|
//修改为生成红字应收单表体
|
||||||
List<ArapDjzbVO.Childrenn> childrennArrayList = new ArrayList<>();
|
List<ArapDjzbVO.Childrenn> childrennArrayList = new ArrayList<>();
|
||||||
ArapDjzbVO.Childrenn arapDjzbVOChildrenn = new ArapDjzbVO.Childrenn();
|
ArapDjzbVO.Childrenn arapDjzbVOChildrenn = new ArapDjzbVO.Childrenn();
|
||||||
childrennArrayList.add(arapDjzbVOChildrenn);
|
childrennArrayList.add(arapDjzbVOChildrenn);
|
||||||
arapDjzbVOChildrenn.setCinventoryid(bdInvbasdocEntity.getInvcode());//存货管理档案
|
arapDjzbVOChildrenn.setCinventoryid(bdInvbasdocEntity.getInvcode());//存货管理档案
|
||||||
arapDjzbVOChildrenn.setJfbbje("-" + goodsRertunSonDetailsDto.getGroupTotalPayAmount().setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString());//借方本币金额
|
arapDjzbVOChildrenn.setJfbbje("-" + groupTotalPayAmount.stripTrailingZeros().toPlainString());//借方本币金额
|
||||||
arapDjzbVOChildrenn.setJfybje("-" + goodsRertunSonDetailsDto.getGroupTotalPayAmount().setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString());//借方原币金额
|
arapDjzbVOChildrenn.setJfybje("-" + groupTotalPayAmount.stripTrailingZeros().toPlainString());//借方原币金额
|
||||||
// arapDjzbVOChildrenn.setJfbbsj("-" + noriginalcurmny.stripTrailingZeros().toPlainString());//借方本币税金
|
// arapDjzbVOChildrenn.setJfbbsj("-" + noriginalcurmny.stripTrailingZeros().toPlainString());//借方本币税金
|
||||||
// arapDjzbVOChildrenn.setJfybsj("-" + noriginalcurmny.stripTrailingZeros().toPlainString());//借方原币税金
|
// arapDjzbVOChildrenn.setJfybsj("-" + noriginalcurmny.stripTrailingZeros().toPlainString());//借方原币税金
|
||||||
// arapDjzbVOChildrenn.setWbfbbje("-" + noriginalcurtaxmny.stripTrailingZeros().toPlainString());//借方本币无税金额
|
// arapDjzbVOChildrenn.setWbfbbje("-" + noriginalcurtaxmny.stripTrailingZeros().toPlainString());//借方本币无税金额
|
||||||
|
|
|
@ -189,69 +189,16 @@ public class QueryAdditionUtil {
|
||||||
Assert.notNull(bdInvbasdocEntity1, "bdInvbasdocEntity1不能为空");
|
Assert.notNull(bdInvbasdocEntity1, "bdInvbasdocEntity1不能为空");
|
||||||
Assert.notNull(noriginalcursummny, "noriginalcursummny不能为空");
|
Assert.notNull(noriginalcursummny, "noriginalcursummny不能为空");
|
||||||
|
|
||||||
//如果size=0则不正常
|
|
||||||
// if (pushScenarioType.size() > 0) {
|
|
||||||
// ArapDjzbVO.Childrenn childrenn = pushScenarioType.get(0);
|
|
||||||
|
|
||||||
//拷贝SaleorderRequestChildrenDto对象
|
|
||||||
ArapDjzbVO.Childrenn arapDjzbVOChildrenn = new ArapDjzbVO.Childrenn();
|
|
||||||
// BeanUtil.copyPropertiesV2(childrenn, arapDjzbVOChildrenn);
|
|
||||||
|
|
||||||
//修改存货、数量、税率、价税合计、优惠金额设置为0
|
|
||||||
//存货id、存货编码
|
|
||||||
arapDjzbVOChildrenn.setCinventoryid(bdInvbasdocEntity1.getInvcode());
|
|
||||||
|
|
||||||
String tax = null;//税率
|
|
||||||
BigDecimal noriginalcurmny = null;//无税金额
|
|
||||||
BigDecimal noriginalcurtaxmny = null;//税额
|
|
||||||
try {
|
|
||||||
tax = new BigDecimal(bdTaxitemsEntity.getTaxratio()).divide(new BigDecimal(100), 20, BigDecimal.ROUND_HALF_UP).setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString();
|
|
||||||
noriginalcurmny = noriginalcursummny.divide(new BigDecimal(1).add(new BigDecimal(tax)), 20, BigDecimal.ROUND_HALF_UP).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
||||||
noriginalcurtaxmny = noriginalcursummny.subtract(noriginalcurmny).setScale(2, BigDecimal.ROUND_HALF_UP);
|
|
||||||
} catch (Exception e) {
|
|
||||||
logger.error("金额计算失败", e);
|
|
||||||
Assert.state(false, "金额计算失败 异常:{}", e.getMessage());
|
|
||||||
}
|
|
||||||
|
|
||||||
//金额计算
|
|
||||||
arapDjzbVOChildrenn.setJfbbje(noriginalcursummny.stripTrailingZeros().toPlainString());//借方本币金额
|
|
||||||
arapDjzbVOChildrenn.setJfybje(noriginalcursummny.stripTrailingZeros().toPlainString());//借方原币金额
|
|
||||||
arapDjzbVOChildrenn.setJfbbsj(noriginalcurmny.stripTrailingZeros().toPlainString());//借方本币税金
|
|
||||||
arapDjzbVOChildrenn.setJfybsj(noriginalcurmny.stripTrailingZeros().toPlainString());//借方原币税金
|
|
||||||
arapDjzbVOChildrenn.setWbfbbje(noriginalcurtaxmny.stripTrailingZeros().toPlainString());//借方本币无税金额
|
|
||||||
arapDjzbVOChildrenn.setJfybwsje(noriginalcurtaxmny.stripTrailingZeros().toPlainString());//借方原币无税金额
|
|
||||||
|
|
||||||
//2025年2月17日 10:37:37 如果四舍五入保留2位后,如果为0,则不推送U8C,处理0.0033保留2位为0的问题
|
//2025年2月17日 10:37:37 如果四舍五入保留2位后,如果为0,则不推送U8C,处理0.0033保留2位为0的问题
|
||||||
//和李佳妮、还有丽知-山海沟通确定的
|
//和李佳妮、还有丽知-山海沟通确定的
|
||||||
if (!"0".equals(noriginalcursummny.setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString())) {
|
if ("0".equals(noriginalcursummny.setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString())) {
|
||||||
pushScenarioType.add(arapDjzbVOChildrenn);
|
return;
|
||||||
|
} else {
|
||||||
|
noriginalcursummny = noriginalcursummny.setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||||
}
|
}
|
||||||
// }
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 增加平台运费,优惠金额这些存货一起保存进U8C销售订单
|
|
||||||
*
|
|
||||||
* @param bdInvmandocEntity1 存货管理档案
|
|
||||||
* @param bdInvbasdocEntity1 存货基本档案
|
|
||||||
* @param pushScenarioType 需要推送给U8C红字应收单明细行表体
|
|
||||||
* @param noriginalcursummny 价税合计(只能传金额)
|
|
||||||
* @param bdTaxitemsEntity 存货对应的税率
|
|
||||||
* @author liuyang
|
|
||||||
*/
|
|
||||||
public void additionalV3(List<ArapDjzbVO.Childrenn> pushScenarioType, BdInvmandocEntity bdInvmandocEntity1, BdInvbasdocEntity bdInvbasdocEntity1, BigDecimal noriginalcursummny, BdTaxitemsEntity bdTaxitemsEntity) {
|
|
||||||
Assert.notNull(pushScenarioType, "pushScenarioType不能为空!");
|
|
||||||
Assert.notNull(bdInvmandocEntity1, "bdInvmandocEntity1不能为空");
|
|
||||||
Assert.notNull(bdInvbasdocEntity1, "bdInvbasdocEntity1不能为空");
|
|
||||||
Assert.notNull(noriginalcursummny, "noriginalcursummny不能为空");
|
|
||||||
|
|
||||||
//如果size=0则不正常
|
|
||||||
// if (pushScenarioType.size() > 0) {
|
|
||||||
// ArapDjzbVO.Childrenn childrenn = pushScenarioType.get(0);
|
|
||||||
|
|
||||||
//拷贝SaleorderRequestChildrenDto对象
|
//拷贝SaleorderRequestChildrenDto对象
|
||||||
ArapDjzbVO.Childrenn arapDjzbVOChildrenn = new ArapDjzbVO.Childrenn();
|
ArapDjzbVO.Childrenn arapDjzbVOChildrenn = new ArapDjzbVO.Childrenn();
|
||||||
// BeanUtil.copyPropertiesV2(childrenn, arapDjzbVOChildrenn);
|
|
||||||
|
|
||||||
//修改存货、数量、税率、价税合计、优惠金额设置为0
|
//修改存货、数量、税率、价税合计、优惠金额设置为0
|
||||||
//存货id、存货编码
|
//存货id、存货编码
|
||||||
|
@ -272,16 +219,50 @@ public class QueryAdditionUtil {
|
||||||
//金额计算
|
//金额计算
|
||||||
arapDjzbVOChildrenn.setJfbbje(noriginalcursummny.stripTrailingZeros().toPlainString());//借方本币金额
|
arapDjzbVOChildrenn.setJfbbje(noriginalcursummny.stripTrailingZeros().toPlainString());//借方本币金额
|
||||||
arapDjzbVOChildrenn.setJfybje(noriginalcursummny.stripTrailingZeros().toPlainString());//借方原币金额
|
arapDjzbVOChildrenn.setJfybje(noriginalcursummny.stripTrailingZeros().toPlainString());//借方原币金额
|
||||||
|
//⚠️解决0.03 优惠金额 / (1+0.06 税率) = 0.03,已经和妮姐确认,通过传递应收单到U8C,税额和无税金额U8C会自动算出来,所以这里就不传了
|
||||||
// arapDjzbVOChildrenn.setJfbbsj(noriginalcurmny.stripTrailingZeros().toPlainString());//借方本币税金
|
// arapDjzbVOChildrenn.setJfbbsj(noriginalcurmny.stripTrailingZeros().toPlainString());//借方本币税金
|
||||||
// arapDjzbVOChildrenn.setJfybsj(noriginalcurmny.stripTrailingZeros().toPlainString());//借方原币税金
|
// arapDjzbVOChildrenn.setJfybsj(noriginalcurmny.stripTrailingZeros().toPlainString());//借方原币税金
|
||||||
// arapDjzbVOChildrenn.setWbfbbje(noriginalcurtaxmny.stripTrailingZeros().toPlainString());//借方本币无税金额
|
// arapDjzbVOChildrenn.setWbfbbje(noriginalcurtaxmny.stripTrailingZeros().toPlainString());//借方本币无税金额
|
||||||
// arapDjzbVOChildrenn.setJfybwsje(noriginalcurtaxmny.stripTrailingZeros().toPlainString());//借方原币无税金额
|
// arapDjzbVOChildrenn.setJfybwsje(noriginalcurtaxmny.stripTrailingZeros().toPlainString());//借方原币无税金额
|
||||||
|
pushScenarioType.add(arapDjzbVOChildrenn);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 增加平台运费,优惠金额这些存货一起保存进U8C销售订单
|
||||||
|
*
|
||||||
|
* @param bdInvmandocEntity1 存货管理档案
|
||||||
|
* @param bdInvbasdocEntity1 存货基本档案
|
||||||
|
* @param pushScenarioType 需要推送给U8C红字应收单明细行表体
|
||||||
|
* @param noriginalcursummny 价税合计(只能传金额)
|
||||||
|
* @param bdTaxitemsEntity 存货对应的税率
|
||||||
|
* @author liuyang
|
||||||
|
*/
|
||||||
|
public void additionalV3(List<ArapDjzbVO.Childrenn> pushScenarioType, BdInvmandocEntity bdInvmandocEntity1, BdInvbasdocEntity bdInvbasdocEntity1, BigDecimal noriginalcursummny, BdTaxitemsEntity bdTaxitemsEntity) {
|
||||||
|
Assert.notNull(pushScenarioType, "pushScenarioType不能为空!");
|
||||||
|
Assert.notNull(bdInvmandocEntity1, "bdInvmandocEntity1不能为空");
|
||||||
|
Assert.notNull(bdInvbasdocEntity1, "bdInvbasdocEntity1不能为空");
|
||||||
|
Assert.notNull(noriginalcursummny, "noriginalcursummny不能为空");
|
||||||
|
|
||||||
//2025年2月17日 10:37:37 如果四舍五入保留2位后,如果为0,则不推送U8C,处理0.0033保留2位为0的问题
|
//2025年2月17日 10:37:37 如果四舍五入保留2位后,如果为0,则不推送U8C,处理0.0033保留2位为0的问题
|
||||||
//和李佳妮、还有丽知-山海沟通确定的
|
//和李佳妮、还有丽知-山海沟通确定的
|
||||||
if (!"0".equals(noriginalcursummny.setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString())) {
|
if ("0".equals(noriginalcursummny.setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString())) {
|
||||||
pushScenarioType.add(arapDjzbVOChildrenn);
|
return;
|
||||||
|
} else {
|
||||||
|
noriginalcursummny = noriginalcursummny.setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||||
}
|
}
|
||||||
// }
|
|
||||||
|
//拷贝SaleorderRequestChildrenDto对象
|
||||||
|
ArapDjzbVO.Childrenn arapDjzbVOChildrenn = new ArapDjzbVO.Childrenn();
|
||||||
|
//修改存货、数量、税率、价税合计、优惠金额设置为0
|
||||||
|
//存货id、存货编码
|
||||||
|
arapDjzbVOChildrenn.setCinventoryid(bdInvbasdocEntity1.getInvcode());
|
||||||
|
//金额计算
|
||||||
|
arapDjzbVOChildrenn.setJfbbje(noriginalcursummny.stripTrailingZeros().toPlainString());//借方本币金额
|
||||||
|
arapDjzbVOChildrenn.setJfybje(noriginalcursummny.stripTrailingZeros().toPlainString());//借方原币金额
|
||||||
|
// arapDjzbVOChildrenn.setJfbbsj(noriginalcurmny.stripTrailingZeros().toPlainString());//借方本币税金
|
||||||
|
// arapDjzbVOChildrenn.setJfybsj(noriginalcurmny.stripTrailingZeros().toPlainString());//借方原币税金
|
||||||
|
// arapDjzbVOChildrenn.setWbfbbje(noriginalcurtaxmny.stripTrailingZeros().toPlainString());//借方本币无税金额
|
||||||
|
// arapDjzbVOChildrenn.setJfybwsje(noriginalcurtaxmny.stripTrailingZeros().toPlainString());//借方原币无税金额
|
||||||
|
pushScenarioType.add(arapDjzbVOChildrenn);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,11 +28,11 @@ public class PassiveWarehouseReceiptToCTest {
|
||||||
public void startImplementStockByTime() {
|
public void startImplementStockByTime() {
|
||||||
try {
|
try {
|
||||||
//测试O无源件入库
|
//测试O无源件入库
|
||||||
passiveWarehouseReceiptToC.startImplementStockByTime("2025-03-11 22:27:02", "2025-03-11 22:27:02");
|
// passiveWarehouseReceiptToC.startImplementStockByTime("2025-03-11 22:27:02", "2025-03-11 22:27:02");
|
||||||
//测试O无源生成红字应收
|
//测试O无源生成红字应收
|
||||||
// passiveWarehouseReceiptToC.startImplementByTradeTime("2025-03-11 22:27:02", "2025-03-11 22:27:02");
|
// passiveWarehouseReceiptToC.startImplementByTradeTime("2025-03-11 22:27:02", "2025-03-11 22:27:02");
|
||||||
|
|
||||||
// passiveWarehouseReceiptToC.startImplementByCode("1111", "stock");
|
passiveWarehouseReceiptToC.startImplementByCode("RH20250226000177", "tran");
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
|
@ -96,8 +96,8 @@ class SoSaleOutPluginInitializerToCTest {
|
||||||
// soSaleOutPluginInitializerToC.splitDateAndPush(computingTime, "tran");
|
// soSaleOutPluginInitializerToC.splitDateAndPush(computingTime, "tran");
|
||||||
|
|
||||||
|
|
||||||
// String s = "LETS-SH2024073100000004";
|
String s = "LETS-SH2025032200027982";
|
||||||
// soSaleOutPluginInitializerToC.startImplementStockByCode(s, "stock");
|
soSaleOutPluginInitializerToC.startImplementStockByCode(s, "stock");
|
||||||
|
|
||||||
// soSaleOutPluginInitializerToC.startImplementStockByTime("2024-09-24 16:35:43","2024-09-24 16:35:45");
|
// soSaleOutPluginInitializerToC.startImplementStockByTime("2024-09-24 16:35:43","2024-09-24 16:35:45");
|
||||||
|
|
||||||
|
@ -139,9 +139,9 @@ class SoSaleOutPluginInitializerToCTest {
|
||||||
|
|
||||||
// soSaleOutPluginInitializerToC.startImplementStockByCode("LETS-SH2025012300026949", "tran");
|
// soSaleOutPluginInitializerToC.startImplementStockByCode("LETS-SH2025012300026949", "tran");
|
||||||
|
|
||||||
String processName = "TOC确认收入";
|
// String processName = "TOC确认收入";
|
||||||
BdBusitypeEntity bdBusitypeEntity = queryBdBusitypeUtil.queryBdBusitype(processName);
|
// BdBusitypeEntity bdBusitypeEntity = queryBdBusitypeUtil.queryBdBusitype(processName);
|
||||||
System.out.println(bdBusitypeEntity.getPkBusitype());
|
// System.out.println(bdBusitypeEntity.getPkBusitype());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,12 +37,12 @@ public class SoSaleReturnPluginInitializerToCTest {
|
||||||
// soSaleReturnPluginInitializerToC.startImplement(null, null);
|
// soSaleReturnPluginInitializerToC.startImplement(null, null);
|
||||||
try {
|
try {
|
||||||
//带优惠金额场景
|
//带优惠金额场景
|
||||||
// String code = "LETS-RE2025030100000112";
|
String code = "LETS-RE2025030100000112";
|
||||||
// soSaleReturnPluginInitializerToC.startImplementByCode(code, "tran");
|
soSaleReturnPluginInitializerToC.startImplementByCode(code, "tran");
|
||||||
|
|
||||||
//无优惠金额场景
|
//无优惠金额场景
|
||||||
String code = "LETS-RE2025031900000002";
|
// String code = "LETS-RE2025031900000002";
|
||||||
soSaleReturnPluginInitializerToC.startImplementByCode(code, "tran");
|
// soSaleReturnPluginInitializerToC.startImplementByCode(code, "tran");
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
|
@ -72,7 +72,10 @@ public class QueryU8CEntityUtilTest {
|
||||||
// String aaa = "9279";
|
// String aaa = "9279";
|
||||||
// queryU8CEntityUtil.getFuzzyQueryCustomers(aaa);
|
// queryU8CEntityUtil.getFuzzyQueryCustomers(aaa);
|
||||||
|
|
||||||
queryU8CEntityUtil.queryBdDefDocByPkDefDocAll();
|
// queryU8CEntityUtil.queryBdDefDocByPkDefDocAll();
|
||||||
|
|
||||||
|
queryU8CEntityUtil.queryU8cPoOrderOperationFlow("DLCG");
|
||||||
|
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue