diff --git a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/RefundOnlyPluginInitializerToC.java b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/RefundOnlyPluginInitializerToC.java index cdc33d16..19dc66a9 100644 --- a/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/RefundOnlyPluginInitializerToC.java +++ b/buildpackage/src/main/java/com/hzya/frame/plugin/lets/plugin/sales/RefundOnlyPluginInitializerToC.java @@ -12,9 +12,7 @@ import com.hzya.frame.plugin.lets.constant.OverallConstant; import com.hzya.frame.plugin.lets.constant.ProfilesActiveConstant; import com.hzya.frame.plugin.lets.dao.IOnlyAfterSalesBDao; import com.hzya.frame.plugin.lets.dao.IOnlyAfterSalesHDao; -import com.hzya.frame.plugin.lets.entity.BdCubasdocEntity; -import com.hzya.frame.plugin.lets.entity.OnlyAfterSalesBEntity; -import com.hzya.frame.plugin.lets.entity.OnlyAfterSalesHEntity; +import com.hzya.frame.plugin.lets.entity.*; import com.hzya.frame.plugin.lets.ofsvo.QueryOfsSoSaleOutVo; import com.hzya.frame.plugin.lets.ofsvo.QueryReturnOrderRequestVO; import com.hzya.frame.plugin.lets.u8cdto.ArapDjzb; @@ -68,6 +66,11 @@ import java.util.stream.Collectors; @Service("refundOnlyPluginInitializerToC") public class RefundOnlyPluginInitializerToC extends PluginBaseEntity { + /** + * 需要去存货管理档案参考售价的店铺 + */ + private List referenceShopList = Arrays.asList("FANG-Q-L", "XZJJ", "dy-FQL", "pdd-yanxi", "DLTer"); + Logger logger = LoggerFactory.getLogger(RefundOnlyPluginInitializerToC.class); @Override @@ -367,6 +370,9 @@ public class RefundOnlyPluginInitializerToC extends PluginBaseEntity { * 因为优惠金额在表头,先按单据便利一变,具体分摊金额拆到每行,在去汇总 */ public void implement(List filterReturnGoodsOrders) throws Exception { + + + boolean isReferenceShop = false; //分摊分摊后的子表 List allDetail = new ArrayList<>(); List allHeader = new ArrayList<>(); @@ -452,6 +458,9 @@ public class RefundOnlyPluginInitializerToC extends PluginBaseEntity { //zyx1店铺 parentvo.setZyx1(split[1]); + if (referenceShopList.contains(split[1])) { + isReferenceShop = true; + } //zyx2来源平台 parentvo.setZyx2(entry.getValue().get(0).getSourcePlatformCode()); //zyx3 收发类别 销售出库,写死:SALES @@ -525,15 +534,52 @@ public class RefundOnlyPluginInitializerToC extends PluginBaseEntity { //sum:zyx7 商家优惠 // BigDecimal sum_zyx7 = new BigDecimal(0); - //金额计算 - for (RerturnGoodsOrderSearchDetails detail : vv) { - sum_jfbbje = sum_jfbbje.add(new BigDecimal(detail.getTotalAmount())); - BigDecimal sj = new BigDecimal(detail.getTotalAmount()).multiply(new BigDecimal(0.13)).setScale(2, RoundingMode.FLOOR); - sum_jfbbsj = sum_jfbbsj.add(sj); + //查询是否需要参考售价 + if (isReferenceShop) { + //查询存货基本档案,管理档案,取参考售价 + BdInvbasdocEntity bdInvbasdocEntity = queryU8CEntityUtil.queryBdInvbasdocByCode(kk); + if (bdInvbasdocEntity == null) { + Assert.state(false, "根据存货编码:{},查询存货基本档案失败。", kk); + } + BdInvmandocEntity bdInvmandocEntity = queryU8CEntityUtil.queryBdInvmandocByPkInvbasdocAndPkCorp(bdInvbasdocEntity.getPkInvbasdoc(), split[0]); + if (bdInvmandocEntity == null) { + Assert.state(false, "根据公司编码:{},存货主键:{},查询存货管理档案失败。", bdInvbasdocEntity.getPkInvbasdoc(), split[0]); + } + //参考售价 + BigDecimal refsaleprice = new BigDecimal(bdInvmandocEntity.getRefsaleprice()); + for (RerturnGoodsOrderSearchDetails detail : vv) { + sum_jfbbje = sum_jfbbje.add(refsaleprice); - BigDecimal ws = new BigDecimal(detail.getTotalAmount()).subtract(sj); - sum_wbfbbje = sum_wbfbbje.add(ws); + BigDecimal sj = refsaleprice.multiply(new BigDecimal(0.13)).setScale(2, RoundingMode.FLOOR); + sum_jfbbsj = sum_jfbbsj.add(sj); + + BigDecimal ws = refsaleprice.subtract(sj); + sum_wbfbbje = sum_wbfbbje.add(ws); + + if (detail.getPlatformDiscounts() != null) { + sum_zyx4 = sum_zyx4.add(new BigDecimal(detail.getPlatformDiscounts())); + } + if (detail.getPayDiscounts() != null) { + sum_zyx5 = sum_zyx5.add(new BigDecimal(detail.getPayDiscounts())); + } + if (detail.getExpertDiscounts() != null) { + sum_zyx6 = sum_zyx6.add(new BigDecimal(detail.getExpertDiscounts())); + } + } + + } else { + + //金额计算 + for (RerturnGoodsOrderSearchDetails detail : vv) { + + sum_jfbbje = sum_jfbbje.add(new BigDecimal(detail.getTotalAmount())); + + BigDecimal sj = new BigDecimal(detail.getTotalAmount()).multiply(new BigDecimal(0.13)).setScale(2, RoundingMode.FLOOR); + sum_jfbbsj = sum_jfbbsj.add(sj); + + BigDecimal ws = new BigDecimal(detail.getTotalAmount()).subtract(sj); + sum_wbfbbje = sum_wbfbbje.add(ws); // if (detail.getShareTargetPlatformDiscounts() != null) { // sum_zyx4 = sum_zyx4.add(detail.getShareTargetPlatformDiscounts()); @@ -548,16 +594,19 @@ public class RefundOnlyPluginInitializerToC extends PluginBaseEntity { // sum_zyx7 = sum_zyx7.add(detail.getShareTargetPayDiscounts()); // } - if (detail.getPlatformDiscounts() != null) { - sum_zyx4 = sum_zyx4.add(new BigDecimal(detail.getPlatformDiscounts())); - } - if (detail.getPayDiscounts() != null) { - sum_zyx5 = sum_zyx5.add(new BigDecimal(detail.getPayDiscounts())); - } - if (detail.getExpertDiscounts() != null) { - sum_zyx6 = sum_zyx6.add(new BigDecimal(detail.getExpertDiscounts())); + if (detail.getPlatformDiscounts() != null) { + sum_zyx4 = sum_zyx4.add(new BigDecimal(detail.getPlatformDiscounts())); + } + if (detail.getPayDiscounts() != null) { + sum_zyx5 = sum_zyx5.add(new BigDecimal(detail.getPayDiscounts())); + } + if (detail.getExpertDiscounts() != null) { + sum_zyx6 = sum_zyx6.add(new BigDecimal(detail.getExpertDiscounts())); + } } } + + childrenn.setJfbbje("-" + sum_jfbbje); childrenn.setJfybje("-" + sum_jfbbje); childrenn.setJfbbsj("-" + sum_jfbbsj); @@ -570,7 +619,7 @@ public class RefundOnlyPluginInitializerToC extends PluginBaseEntity { children.add(childrenn); //新增三个优惠为存货 - if(sum_zyx4.compareTo(BigDecimal.ZERO)>0){//平台优惠 + if (sum_zyx4.compareTo(BigDecimal.ZERO) > 0) {//平台优惠 ArapDjzbVO.Childrenn childrennFY = new ArapDjzbVO.Childrenn(); //cinventoryid 存货 childrennFY.setCinventoryid("FY01"); @@ -596,7 +645,7 @@ public class RefundOnlyPluginInitializerToC extends PluginBaseEntity { childrennFY.setJfybwsje("-" + sum_wbfbbje_FY); children.add(childrennFY); } - if(sum_zyx5.compareTo(BigDecimal.ZERO)>0){//支付优惠 + if (sum_zyx5.compareTo(BigDecimal.ZERO) > 0) {//支付优惠 ArapDjzbVO.Childrenn childrennFY = new ArapDjzbVO.Childrenn(); //cinventoryid 存货 childrennFY.setCinventoryid("FY04"); @@ -622,7 +671,7 @@ public class RefundOnlyPluginInitializerToC extends PluginBaseEntity { childrennFY.setJfybwsje("-" + sum_wbfbbje_FY); children.add(childrennFY); } - if(sum_zyx6.compareTo(BigDecimal.ZERO)>0){//达人优惠 + if (sum_zyx6.compareTo(BigDecimal.ZERO) > 0) {//达人优惠 ArapDjzbVO.Childrenn childrennFY = new ArapDjzbVO.Childrenn(); //cinventoryid 存货 childrennFY.setCinventoryid("FY02");