refactor(sales): 优化无源仓库收货单相关逻辑- 修改了 PassiveWarehouseReceiptToC 类中的多个方法
- 优化了 QueryAdditionUtil 类中的金额计算逻辑 - 删除了部分冗余代码,提高了代码可读性 - 调整了部分变量名称,使其更加准确
This commit is contained in:
parent
a31bcda6c9
commit
16c3209043
|
@ -1225,7 +1225,7 @@ public class PassiveWarehouseReceiptToC extends PluginBaseEntity {
|
||||||
* @author liuyang
|
* @author liuyang
|
||||||
*/
|
*/
|
||||||
private List<PassiveStorageSonDetailsDto> queryBasicArchivesStock(List<PassiveStorageResponse.Data> passiveStorageResponseDataList, String sceneType) {
|
private List<PassiveStorageSonDetailsDto> queryBasicArchivesStock(List<PassiveStorageResponse.Data> passiveStorageResponseDataList, String sceneType) {
|
||||||
Assert.notNull(passiveStorageResponseDataList, "returnGoodHeaderDetailsDataDtoList1不能为空");
|
Assert.notNull(passiveStorageResponseDataList, "passiveStorageResponseDataList不能为空");
|
||||||
Assert.notNull(sceneType, "sceneType不能为空");
|
Assert.notNull(sceneType, "sceneType不能为空");
|
||||||
|
|
||||||
List<PassiveStorageSonDetailsDto> sonDetailsDtoList = new ArrayList<>();
|
List<PassiveStorageSonDetailsDto> sonDetailsDtoList = new ArrayList<>();
|
||||||
|
@ -1236,8 +1236,6 @@ public class PassiveWarehouseReceiptToC extends PluginBaseEntity {
|
||||||
//查询OFS无源入库单对应的售后订单,并关联无源无源入库单对象
|
//查询OFS无源入库单对应的售后订单,并关联无源无源入库单对象
|
||||||
List<RerturnGoodsOrderSearchData> rerturnGoodsOrderSearchData = queryBatchAfterSalesOrder(passiveStorageResponseDataList);
|
List<RerturnGoodsOrderSearchData> rerturnGoodsOrderSearchData = queryBatchAfterSalesOrder(passiveStorageResponseDataList);
|
||||||
findAfterSalesOrder(rerturnGoodsOrderSearchData, passiveStorageResponseDataList);
|
findAfterSalesOrder(rerturnGoodsOrderSearchData, passiveStorageResponseDataList);
|
||||||
//过滤掉售后订单没有交易成功的数据
|
|
||||||
|
|
||||||
|
|
||||||
//查询OFS售后订单对应的OFS销售订单
|
//查询OFS售后订单对应的OFS销售订单
|
||||||
List<com.hzya.frame.ttxofs.dto.ofssalesordersearch.HeaderDetailsDto> headerDetailsDtos = queryBatchOfsOrder(passiveStorageResponseDataList);
|
List<com.hzya.frame.ttxofs.dto.ofssalesordersearch.HeaderDetailsDto> headerDetailsDtos = queryBatchOfsOrder(passiveStorageResponseDataList);
|
||||||
|
@ -1691,6 +1689,19 @@ public class PassiveWarehouseReceiptToC extends PluginBaseEntity {
|
||||||
|
|
||||||
passiveStorageSonDetailsDto.setCalculateAccountsReceivable(totalAmount);
|
passiveStorageSonDetailsDto.setCalculateAccountsReceivable(totalAmount);
|
||||||
passiveStorageSonDetailsDto.setCalculationFormula(calculationFormulaStr.toString());
|
passiveStorageSonDetailsDto.setCalculationFormula(calculationFormulaStr.toString());
|
||||||
|
|
||||||
|
// if ("6973391732529".equals(passiveStorageSonDetailsDto.getSkuCode())) {
|
||||||
|
// ofsOrderDetail.setPlatformDiscounts("1.02");
|
||||||
|
// ofsOrderDetail.setMerchantDiscounts("4.88");
|
||||||
|
// ofsOrderDetail.setExpertDiscounts("3.13");
|
||||||
|
// ofsOrderDetail.setPayDiscounts("7.88");
|
||||||
|
// } else {
|
||||||
|
// ofsOrderDetail.setPlatformDiscounts("6.68");
|
||||||
|
// ofsOrderDetail.setMerchantDiscounts("5.47");
|
||||||
|
// ofsOrderDetail.setExpertDiscounts("4.31");
|
||||||
|
// ofsOrderDetail.setPayDiscounts("3.09");
|
||||||
|
// }
|
||||||
|
|
||||||
//把无源入库单明细行关联对应的售后订单明细行的优惠金额,带入到无源入库单明细行
|
//把无源入库单明细行关联对应的售后订单明细行的优惠金额,带入到无源入库单明细行
|
||||||
passiveStorageSonDetailsDto.setPlatformDiscounts(ofsOrderDetail.getPlatformDiscounts());
|
passiveStorageSonDetailsDto.setPlatformDiscounts(ofsOrderDetail.getPlatformDiscounts());
|
||||||
passiveStorageSonDetailsDto.setMerchantDiscounts(ofsOrderDetail.getMerchantDiscounts());
|
passiveStorageSonDetailsDto.setMerchantDiscounts(ofsOrderDetail.getMerchantDiscounts());
|
||||||
|
@ -1702,7 +1713,7 @@ public class PassiveWarehouseReceiptToC extends PluginBaseEntity {
|
||||||
passiveStorageSonDetailsDto.setGroupShipQty(groupShipQty);
|
passiveStorageSonDetailsDto.setGroupShipQty(groupShipQty);
|
||||||
passiveStorageSonDetailsDto.setGroupTotalPayAmount(groupTotalPayAmount);
|
passiveStorageSonDetailsDto.setGroupTotalPayAmount(groupTotalPayAmount);
|
||||||
|
|
||||||
//汇总好之后,相同的sku累加优惠金额
|
//相同的O无源入库单sku累加优惠金额
|
||||||
accumulatedDiscountAmountDef(sonDetailsDtoList);
|
accumulatedDiscountAmountDef(sonDetailsDtoList);
|
||||||
|
|
||||||
return passiveStorageSonDetailsDto;
|
return passiveStorageSonDetailsDto;
|
||||||
|
@ -1788,13 +1799,8 @@ public class PassiveWarehouseReceiptToC extends PluginBaseEntity {
|
||||||
long startLong = System.currentTimeMillis();
|
long startLong = System.currentTimeMillis();
|
||||||
logger.info("TOC推送开始,推送参数:" + param + ",U8C_URL:" + OverallConstant.getOverAllValue("u8c_url"));
|
logger.info("TOC推送开始,推送参数:" + param + ",U8C_URL:" + OverallConstant.getOverAllValue("u8c_url"));
|
||||||
String apiCode = "8000370069";
|
String apiCode = "8000370069";
|
||||||
String result = HttpRequest.post(OverallConstant.getOverAllValue("u8c_url"))
|
String result = HttpRequest.post(OverallConstant.getOverAllValue("u8c_url")).header("appId", OverallConstant.getOverAllValue("appId"))//头信息,多个头信息多次调用此方法即可
|
||||||
.header("appId", OverallConstant.getOverAllValue("appId"))//头信息,多个头信息多次调用此方法即可
|
.header("usercode", OverallConstant.getOverAllValue("u8cApiUsercodeCode")).header("password", OverallConstant.getOverAllValue("u8cApiPasswordCode")).header("system", OverallConstant.getOverAllValue("u8cApiSystemCode")).header("trantype", OverallConstant.getOverAllValue("u8cApiTrantypeCode")).header("apiCode", apiCode)//头信息,多个头信息多次调用此方法即可
|
||||||
.header("usercode", OverallConstant.getOverAllValue("u8cApiUsercodeCode"))
|
|
||||||
.header("password", OverallConstant.getOverAllValue("u8cApiPasswordCode"))
|
|
||||||
.header("system", OverallConstant.getOverAllValue("u8cApiSystemCode"))
|
|
||||||
.header("trantype", OverallConstant.getOverAllValue("u8cApiTrantypeCode"))
|
|
||||||
.header("apiCode", apiCode)//头信息,多个头信息多次调用此方法即可
|
|
||||||
.header("publicKey", OverallConstant.getOverAllValue("publicKey"))//头信息,多个头信息多次调用此方法即可
|
.header("publicKey", OverallConstant.getOverAllValue("publicKey"))//头信息,多个头信息多次调用此方法即可
|
||||||
.header("secretKey", OverallConstant.getOverAllValue("secretKey"))//头信息,多个头信息多次调用此方法即可
|
.header("secretKey", OverallConstant.getOverAllValue("secretKey"))//头信息,多个头信息多次调用此方法即可
|
||||||
.body(param)//表单内容
|
.body(param)//表单内容
|
||||||
|
|
|
@ -167,7 +167,7 @@ public class QueryAdditionUtil {
|
||||||
|
|
||||||
//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 (noriginalcursummnyRounding2.compareTo(BigDecimal.ZERO) != 0) {
|
if (!"0".equals(noriginalcursummnyStr)) {
|
||||||
saleorderRequestChildrenDtoList.add(saleorderRequestChildrenDto1);
|
saleorderRequestChildrenDtoList.add(saleorderRequestChildrenDto1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -190,42 +190,42 @@ public class QueryAdditionUtil {
|
||||||
Assert.notNull(noriginalcursummny, "noriginalcursummny不能为空");
|
Assert.notNull(noriginalcursummny, "noriginalcursummny不能为空");
|
||||||
|
|
||||||
//如果size=0则不正常
|
//如果size=0则不正常
|
||||||
if (pushScenarioType.size() > 0) {
|
// if (pushScenarioType.size() > 0) {
|
||||||
ArapDjzbVO.Childrenn childrenn = pushScenarioType.get(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);
|
// BeanUtil.copyPropertiesV2(childrenn, arapDjzbVOChildrenn);
|
||||||
|
|
||||||
//修改存货、数量、税率、价税合计、优惠金额设置为0
|
//修改存货、数量、税率、价税合计、优惠金额设置为0
|
||||||
//存货id、存货编码
|
//存货id、存货编码
|
||||||
arapDjzbVOChildrenn.setCinventoryid(bdInvmandocEntity1.getPkInvmandoc());
|
arapDjzbVOChildrenn.setCinventoryid(bdInvbasdocEntity1.getInvcode());
|
||||||
|
|
||||||
String tax = null;//税率
|
String tax = null;//税率
|
||||||
BigDecimal noriginalcurmny = null;//无税金额
|
BigDecimal noriginalcurmny = null;//无税金额
|
||||||
BigDecimal noriginalcurtaxmny = null;//税额
|
BigDecimal noriginalcurtaxmny = null;//税额
|
||||||
try {
|
try {
|
||||||
tax = new BigDecimal(bdTaxitemsEntity.getTaxratio()).divide(new BigDecimal(100), 20, BigDecimal.ROUND_HALF_UP).setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString();
|
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);
|
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);
|
noriginalcurtaxmny = noriginalcursummny.subtract(noriginalcurmny).setScale(2, BigDecimal.ROUND_HALF_UP);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error("金额计算失败", e);
|
logger.error("金额计算失败", e);
|
||||||
Assert.state(false, "金额计算失败 异常:{}", e.getMessage());
|
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的问题
|
|
||||||
//和李佳妮、还有丽知-山海沟通确定的
|
|
||||||
if (!"0".equals(noriginalcursummny.setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString())) {
|
|
||||||
pushScenarioType.add(arapDjzbVOChildrenn);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//金额计算
|
||||||
|
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的问题
|
||||||
|
//和李佳妮、还有丽知-山海沟通确定的
|
||||||
|
if (!"0".equals(noriginalcursummny.setScale(2, BigDecimal.ROUND_HALF_UP).stripTrailingZeros().toPlainString())) {
|
||||||
|
pushScenarioType.add(arapDjzbVOChildrenn);
|
||||||
|
}
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue