周箭河 пре 5 година
родитељ
комит
4115472c3a

+ 9 - 12
mec-biz/src/main/java/com/ym/mec/biz/service/impl/SubjectChangeServiceImpl.java

@@ -296,7 +296,7 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
             //退原订单商品
             sellOrderService.refundByOrderId(subjectChange.getOriginalOrderId().longValue(), false);
             //添加新订单
-            this.addSellOrder(studentPaymentOrder.getId(), subjectChange.getMusicGroupId(), goodsIdList, BigDecimal.ZERO, BigDecimal.ZERO,subjectChange.getKitGroupPurchaseType());
+            this.addSellOrder(studentPaymentOrder.getId(), subjectChange.getMusicGroupId(), goodsIdList, BigDecimal.ZERO, BigDecimal.ZERO, subjectChange.getKitGroupPurchaseType());
         }
         return subjectChange;
     }
@@ -485,7 +485,7 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
                 //退原订单商品
                 sellOrderService.refundByOrderId(subjectChange.getOriginalOrderId().longValue(), false);
                 //添加新订单
-                this.addSellOrder(studentPaymentOrder.getId(), subjectChange.getMusicGroupId(), goodsIdList, studentPaymentOrder.getExpectAmount(), studentPaymentOrder.getBalancePaymentAmount(),subjectChange.getKitGroupPurchaseType());
+                this.addSellOrder(studentPaymentOrder.getId(), subjectChange.getMusicGroupId(), goodsIdList, studentPaymentOrder.getExpectAmount(), studentPaymentOrder.getBalancePaymentAmount(), subjectChange.getKitGroupPurchaseType());
             }
 
             //插入交易明细
@@ -589,7 +589,7 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
     }
 
     @Override
-    public List<SellOrder> addSellOrder(Long orderId, String musicGroupId, List<Integer> goodsIds, BigDecimal totalAmount, BigDecimal balance,KitGroupPurchaseTypeEnum kitGroupPurchaseType) {
+    public List<SellOrder> addSellOrder(Long orderId, String musicGroupId, List<Integer> goodsIds, BigDecimal totalAmount, BigDecimal balance, KitGroupPurchaseTypeEnum kitGroupPurchaseType) {
         if (goodsIds == null || goodsIds.size() <= 0) {
             return null;
         }
@@ -637,10 +637,16 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
                 goodsBalance = balance.multiply(goodsPrice).divide(goodsTotalPrice, 2, BigDecimal.ROUND_HALF_UP);
                 expectAmount = totalAmount.multiply(goodsPrice).divide(goodsTotalPrice, 2, BigDecimal.ROUND_HALF_UP);
             }
+            //租赁、免费的没有销售收入,有销售成本
+            if (nowGoods.getType().equals(GoodsType.INSTRUMENT) && (kitGroupPurchaseType.equals(KitGroupPurchaseTypeEnum.LEASE) || kitGroupPurchaseType.equals(KitGroupPurchaseTypeEnum.FREE))) {
+                goodsBalance = BigDecimal.ZERO;
+                expectAmount = BigDecimal.ZERO;
+            }
             if (i == goodsNum) {
                 goodsBalance = balance.subtract(hasRouteBalance);
                 expectAmount = totalAmount.subtract(hasRouteExpectAmount);
             }
+
             hasRouteBalance = hasRouteBalance.add(goodsBalance);
             hasRouteExpectAmount = hasRouteExpectAmount.add(expectAmount);
             i++;
@@ -701,15 +707,6 @@ public class SubjectChangeServiceImpl extends BaseServiceImpl<Integer, SubjectCh
                     sellOrder.setType(SellTypeEnum.OTHER);
                 }
                 sellOrder.setHasRoute(true);
-                //租赁、免费的没有销售收入,有销售成本
-                if (sellOrder.getType().equals(SellTypeEnum.INSTRUMENT) && (kitGroupPurchaseType.equals(KitGroupPurchaseTypeEnum.LEASE) || kitGroupPurchaseType.equals(KitGroupPurchaseTypeEnum.FREE))) {
-                    sellOrder.setActualAmount(BigDecimal.ZERO);
-                    sellOrder.setBalanceAmount(BigDecimal.ZERO);
-                    sellOrder.setExpectAmount(BigDecimal.ZERO);
-                }
-                if (complementGoodsNum <= 0) {
-                    break;
-                }
             }
         }
         sellOrderDao.batchInsert(sellOrderList);