Selaa lähdekoodia

update 财务添加订单

周箭河 4 vuotta sitten
vanhempi
commit
7e173cfb39

+ 24 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/OutOrderInfoDto.java

@@ -2,11 +2,19 @@ package com.ym.mec.biz.dal.dto;
 
 import com.ym.mec.biz.dal.entity.SellOrder;
 import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
+import io.swagger.annotations.ApiModelProperty;
 
+import java.math.BigDecimal;
 import java.util.List;
 
 public class OutOrderInfoDto extends StudentPaymentOrder {
 
+    @ApiModelProperty(value = "服务收入",required = true)
+    private BigDecimal serviceAmount = BigDecimal.ZERO;
+
+    @ApiModelProperty(value = "销售收入",required = true)
+    private BigDecimal goodsAmount = BigDecimal.ZERO;
+
     private List<SellOrder> sellOrders;
 
     public List<SellOrder> getSellOrders() {
@@ -16,4 +24,20 @@ public class OutOrderInfoDto extends StudentPaymentOrder {
     public void setSellOrders(List<SellOrder> sellOrders) {
         this.sellOrders = sellOrders;
     }
+
+    public BigDecimal getServiceAmount() {
+        return serviceAmount;
+    }
+
+    public void setServiceAmount(BigDecimal serviceAmount) {
+        this.serviceAmount = serviceAmount;
+    }
+
+    public BigDecimal getGoodsAmount() {
+        return goodsAmount;
+    }
+
+    public void setGoodsAmount(BigDecimal goodsAmount) {
+        this.goodsAmount = goodsAmount;
+    }
 }

+ 22 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentPaymentRouteOrderDto.java

@@ -45,6 +45,12 @@ public class StudentPaymentRouteOrderDto extends StudentPaymentOrder {
     @ApiModelProperty(value = "商品 id->数量",required = true)
     private Map<Integer, Integer> goodies;
 
+    @ApiModelProperty(value = "服务收入",required = true)
+    private BigDecimal serviceAmount = BigDecimal.ZERO;
+
+    @ApiModelProperty(value = "销售收入",required = true)
+    private BigDecimal goodsAmount = BigDecimal.ZERO;
+
     public Integer getRouteOrganId() {
         return routeOrganId;
     }
@@ -108,4 +114,20 @@ public class StudentPaymentRouteOrderDto extends StudentPaymentOrder {
     public void setSaleType(Integer saleType) {
         this.saleType = saleType;
     }
+
+    public BigDecimal getServiceAmount() {
+        return serviceAmount;
+    }
+
+    public void setServiceAmount(BigDecimal serviceAmount) {
+        this.serviceAmount = serviceAmount;
+    }
+
+    public BigDecimal getGoodsAmount() {
+        return goodsAmount;
+    }
+
+    public void setGoodsAmount(BigDecimal goodsAmount) {
+        this.goodsAmount = goodsAmount;
+    }
 }

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/impl/StudentPaymentRouteOrderServiceImpl.java

@@ -115,9 +115,9 @@ public class StudentPaymentRouteOrderServiceImpl extends BaseServiceImpl<Long, S
             for (Map.Entry<Integer, Integer> goodsMap : studentPaymentRouteOrderDto.getGoodies().entrySet()) {
                 Goods goods = goodsDao.get(goodsMap.getKey());
 
-                BigDecimal actualAmount = studentPaymentRouteOrderDto.getActualAmount().multiply(goods.getGroupPurchasePrice().multiply(new BigDecimal(goodsMap.getValue()))).divide(goodsTotalPrice, 2, BigDecimal.ROUND_HALF_UP);
+                BigDecimal actualAmount = studentPaymentRouteOrderDto.getGoodsAmount().multiply(goods.getGroupPurchasePrice().multiply(new BigDecimal(goodsMap.getValue()))).divide(goodsTotalPrice, 2, BigDecimal.ROUND_HALF_UP);
                 if (i == studentPaymentRouteOrderDto.getGoodies().size()) {
-                    actualAmount = studentPaymentRouteOrderDto.getActualAmount().subtract(hasRouteAmount);
+                    actualAmount = studentPaymentRouteOrderDto.getGoodsAmount().subtract(hasRouteAmount);
                 }
                 hasRouteAmount = hasRouteAmount.add(actualAmount);
                 i++;

+ 8 - 1
mec-web/src/main/java/com/ym/mec/web/controller/StudentPaymentRouteOrderController.java

@@ -10,6 +10,7 @@ import com.ym.mec.biz.dal.dto.BasicUserDto;
 import com.ym.mec.biz.dal.dto.OutOrderInfoDto;
 import com.ym.mec.biz.dal.dto.StudentPaymentRouteOrderDto;
 import com.ym.mec.biz.dal.entity.Employee;
+import com.ym.mec.biz.dal.entity.SellOrder;
 import com.ym.mec.biz.dal.entity.StudentPaymentOrder;
 import com.ym.mec.biz.dal.page.SporadicOrderQueryInfo;
 import com.ym.mec.biz.dal.page.StudentPaymentOrderQueryInfo;
@@ -94,6 +95,7 @@ public class StudentPaymentRouteOrderController extends BaseController {
         if (studentPaymentRouteOrderDto.getSchoolId() != null) {
             studentPaymentRouteOrderDto.setMusicGroupId(studentPaymentRouteOrderDto.getSchoolId().toString());
         }
+        studentPaymentRouteOrderDto.setActualAmount(studentPaymentRouteOrderDto.getServiceAmount().add(studentPaymentRouteOrderDto.getGoodsAmount()));
         return succeed(studentPaymentRouteOrderService.addOutOrder(studentPaymentRouteOrderDto));
     }
 
@@ -102,7 +104,12 @@ public class StudentPaymentRouteOrderController extends BaseController {
     @PreAuthorize("@pcs.hasPermissions('routeOrder/getOrderInfo')")
     public HttpResponseResult<OutOrderInfoDto> add(Long orderId) {
         OutOrderInfoDto outOrderInfoDto = (OutOrderInfoDto) studentPaymentOrderDao.get(orderId);
-        outOrderInfoDto.setSellOrders(sellOrderDao.getOrderSellOrder(orderId));
+        List<SellOrder> sellOrders = sellOrderDao.getOrderSellOrder(orderId);
+        BigDecimal goodsAmount = sellOrders.stream().map(SellOrder::getActualAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
+        BigDecimal serviceAmount = outOrderInfoDto.getActualAmount().subtract(goodsAmount);
+        outOrderInfoDto.setServiceAmount(serviceAmount);
+        outOrderInfoDto.setGoodsAmount(goodsAmount);
+        outOrderInfoDto.setSellOrders(sellOrders);
         return succeed(outOrderInfoDto);
     }