diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/PassiveWarehouseReceiptToC.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/PassiveWarehouseReceiptToC.java index 7cd06620..807a5b99 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/PassiveWarehouseReceiptToC.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/PassiveWarehouseReceiptToC.java @@ -4344,24 +4344,26 @@ public class PassiveWarehouseReceiptToC extends PluginBaseEntity { Assert.state(!"".equals(totalAmount), "售后订单:{} 存货明细行:{} 退货金额不能为空!", header.getCode(), targetDetails.getSkuCode()); //售后订单明细行-请求数量 //实退数量存在可能为0的情况,如果用退货金额/实退数量可能会抛出异常 - String requestQty = targetDetails.getRequestQty();//请求数量 - Assert.notNull(requestQty, "售后订单:{} 存货明细行:{} 请求数量不能为空!", header.getCode(), targetDetails.getSkuCode()); - Assert.state(!"".equals(requestQty), "售后订单:{} 存货明细行:{} 请求数量不能为空!", header.getCode(), targetDetails.getSkuCode()); +// String requestQty = targetDetails.getRequestQty();//请求数量 +// Assert.notNull(requestQty, "售后订单:{} 存货明细行:{} 请求数量不能为空!", header.getCode(), targetDetails.getSkuCode()); +// Assert.state(!"".equals(requestQty), "售后订单:{} 存货明细行:{} 请求数量不能为空!", header.getCode(), targetDetails.getSkuCode()); - String quantity = passiveStorageSonDetailsDto.getQuantity(); - Assert.notNull(quantity, "无源入库单:{} sku:{} 实退数量不能为空", passiveStorageSonDetailsDto.getQuantity(), passiveStorageSonDetailsDto.getSkuName()); - Assert.state(!"".equals(quantity), "无源入库单:{} sku:{} 实退数量不能为空", passiveStorageSonDetailsDto.getQuantity(), passiveStorageSonDetailsDto.getSkuName()); - if ("0".equals(new BigDecimal(quantity).stripTrailingZeros().toPlainString())) { - Assert.state(false, "无源入库单:{} sku:{} 实退数量不能为0!", passiveStorageSonDetailsDto.getQuantity(), passiveStorageSonDetailsDto.getSkuName()); - } +// String quantity = passiveStorageSonDetailsDto.getQuantity(); +// Assert.notNull(quantity, "无源入库单:{} sku:{} 实退数量不能为空", passiveStorageSonDetailsDto.getQuantity(), passiveStorageSonDetailsDto.getSkuName()); +// Assert.state(!"".equals(quantity), "无源入库单:{} sku:{} 实退数量不能为空", passiveStorageSonDetailsDto.getQuantity(), passiveStorageSonDetailsDto.getSkuName()); +// if ("0".equals(new BigDecimal(quantity).stripTrailingZeros().toPlainString())) { +// Assert.state(false, "无源入库单:{} sku:{} 实退数量不能为0!", passiveStorageSonDetailsDto.getQuantity(), passiveStorageSonDetailsDto.getSkuName()); +// } //O含税单价=通过退货金额/请求数量 - BigDecimal unitPriceIncludingTax = new BigDecimal(totalAmount).divide(new BigDecimal(requestQty), 20, BigDecimal.ROUND_HALF_UP); +// BigDecimal unitPriceIncludingTax = new BigDecimal(totalAmount).divide(new BigDecimal(requestQty), 20, BigDecimal.ROUND_HALF_UP); //实退金额=O含税单价*(O售后入库单)实退数量 - BigDecimal actualRefundAmount = unitPriceIncludingTax.multiply(new BigDecimal(quantity)).setScale(4, BigDecimal.ROUND_HALF_UP); - String format = StrUtil.format("{}/{}*{}", totalAmount, requestQty, quantity); +// BigDecimal actualRefundAmount = unitPriceIncludingTax.multiply(new BigDecimal(quantity)).setScale(4, BigDecimal.ROUND_HALF_UP); +// String format = StrUtil.format("{}/{}*{}", totalAmount, requestQty, quantity); + String format = StrUtil.format("{}", totalAmount); calculationFormulaStr.append(format); - return actualRefundAmount.stripTrailingZeros().toPlainString(); +// return actualRefundAmount.stripTrailingZeros().toPlainString(); + return new BigDecimal(totalAmount).stripTrailingZeros().toPlainString(); } else { //2025年4月18日11:06:04 如果无源入库单明细行无法匹配售后订单明细行,则金额为0即可 return "0"; diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToC.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToC.java index 801bec73..0c238840 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToC.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToC.java @@ -1815,6 +1815,7 @@ public class SoSaleReturnPluginInitializerToC extends PluginBaseEntity { // StockinOrderSearchResponse.StockinOrder.StockinB stockinB = details2.get(i); // stockinB.setReceivedQty(stockinB.getRequestQty()); // } +// headerDetailsDtos.get(0).getHeader().setTradeSuccessAt("2025-08-01 15:12:00"); markTimeInMorningEvening(returnGoodHeaderDetailsDataDtoList1); if ("stock".equals(sceneType)) { diff --git a/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/PassiveWarehouseReceiptToCTest.java b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/PassiveWarehouseReceiptToCTest.java index 7d1463ec..cc6ab0ce 100644 --- a/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/PassiveWarehouseReceiptToCTest.java +++ b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/PassiveWarehouseReceiptToCTest.java @@ -37,8 +37,10 @@ public class PassiveWarehouseReceiptToCTest { //情况二 // passiveWarehouseReceiptToC.startImplementByCode("RH20250731000423", "tran"); //情况三 - passiveWarehouseReceiptToC.startImplementByCode("RH20250731000613", "tran"); +// passiveWarehouseReceiptToC.startImplementByCode("RH20250731000613", "tran"); // passiveWarehouseReceiptToC.startImplementByCode("RH20250723000754", "tran"); + + passiveWarehouseReceiptToC.startImplementByCode("RH20250731000017", "stock"); } catch (Exception e) { e.printStackTrace(); } diff --git a/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToCTest.java b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToCTest.java index 36d10c44..bea341f4 100644 --- a/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToCTest.java +++ b/buildpackage/src/test/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToCTest.java @@ -69,8 +69,10 @@ public class SoSaleReturnPluginInitializerToCTest { try { // soSaleReturnPluginInitializerToC.startImplementByTradeTime("2025-04-28 00:00:00", "2025-04-28 23:59:59", "0"); + soSaleReturnPluginInitializerToC.startImplementByCode("LETS-RE2025072600001452", "tran"); + //满足红字应收单 - soSaleReturnPluginInitializerToC.startImplementByCode("LETS-RE2025072200001324", "tran"); +// soSaleReturnPluginInitializerToC.startImplementByCode("LETS-RE2025072200001324", "tran"); //情况一 // soSaleReturnPluginInitializerToC.startImplementByCode("LETS-RE2025072900000460", "stock"); //情况二 diff --git a/service/src/main/java/com/hzya/frame/report/lets/dto/TocofsReturnGoodsDetailedDto.java b/service/src/main/java/com/hzya/frame/report/lets/dto/TocofsReturnGoodsDetailedDto.java index a24b09a4..a22c8c0f 100644 --- a/service/src/main/java/com/hzya/frame/report/lets/dto/TocofsReturnGoodsDetailedDto.java +++ b/service/src/main/java/com/hzya/frame/report/lets/dto/TocofsReturnGoodsDetailedDto.java @@ -66,9 +66,9 @@ public class TocofsReturnGoodsDetailedDto { @ExcelProperty(value = "交易成功红-下游主键") private String newSystemPrimary4; - @ExcelProperty(value = "交易成功蓝-报错详情") - private String def13; @ExcelProperty(value = "交易成功蓝-推送时间") + private String def13; + @ExcelProperty(value = "交易成功蓝-报错详情") private String def14; @ExcelProperty(value = "交易成功蓝-推送状态") private String def15; @@ -78,6 +78,7 @@ public class TocofsReturnGoodsDetailedDto { private String def17; //交易成功时间 + @ExcelProperty(value = "交易成功时间") private String def23; //情况类型