diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToB.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToB.java index 7370e1ef..52329144 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToB.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/SoSaleReturnPluginInitializerToB.java @@ -1831,6 +1831,9 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity { salesInvoiceHeadDto.setPk_defdoc16(OverallConstant.getOverAllValue("u8c自定义项档案-单据红字标识-Y主键")); salesInvoiceHeadDto.setVdef16(OverallConstant.getOverAllValue("u8c自定义项档案-单据红字标识-Y名称")); + //验证是否为指定的店铺,如果为true,则取结存价 + Boolean isCheckShopChoose = balanceUnitPriceUtil.checkOfsShop(header.getStoreCode()); + List salesInvoiceBodyDtoList = new ArrayList<>(); for (int j = 0; j < details.size(); j++) { StockinOrderSearchResponse.StockinOrder.StockinB stockinB = details.get(j); @@ -1850,11 +1853,16 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity { // BdInvclEntity bdInvclEntity = queryU8CEntityUtil.queryBdInvbasdocByBdInvcl(bdInvbasdocEntity); // BdCostsubjEntity bdCostsubjEntity = queryU8CEntityUtil.queryBdCostsubj(bdInvclEntity); - StringBuffer calculationFormula = new StringBuffer();//计算公式 - calculationFormula.append("O实退金额"); - BigDecimal noriginalcurtaxprice = null;//含税单价 + //计算公式 + StringBuffer calculationFormula = new StringBuffer(); +// calculationFormula.append("O实退金额"); + //含税单价 + BigDecimal noriginalcurtaxprice = null; + String totalPayAmount = null; try { - noriginalcurtaxprice = new BigDecimal(afterSalesOrder.getTotalAmount()).divide(new BigDecimal(stockinB.getReceivedQty()), 20, BigDecimal.ROUND_HALF_UP).setScale(4, BigDecimal.ROUND_HALF_UP); + //综合判断对应的目标金额 + 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); } catch (Exception e) { logger.error("含税单价金额计算失败!", e); Assert.state(false, "含税单价金额计算失败 原因:{}", e.getMessage()); @@ -1942,6 +1950,7 @@ public class SoSaleReturnPluginInitializerToB extends PluginBaseEntity { * @author liuyang */ private String createSuccessFulTradeDate(OrderToBHeaderDto orderOutTobHeaderDto) { +// orderOutTobHeaderDto.getHeader().setRefundedAt("2024-11-19 00:00:00"); String code = null; if (orderOutTobHeaderDto != null && orderOutTobHeaderDto.getHeader() != null) { code = orderOutTobHeaderDto.getHeader().getCode(); 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 fb1e6e67..5459741d 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 @@ -31,7 +31,7 @@ public class SoSaleReturnPluginInitializerToCTest { // soSaleReturnPluginInitializerToC.startImplement(null, null); try { String code = "LETS-RE2024112900000001"; - soSaleReturnPluginInitializerToC.startImplementByCode(code, "tran"); + soSaleReturnPluginInitializerToC.startImplementByCode(code, "stock"); } catch (Exception e) { e.printStackTrace(); }