koushanshan 1 год назад
Родитель
Сommit
b79097323e

+ 11 - 2
src/main/java/com/dk/mdm/service/ivt/outbound/OutboundSaleOrderService.java

@@ -217,6 +217,7 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
 
             //region  库存够扣减的明细  -----------新建已出库数据并扣减库存
             //销售出库新建
+            outboundVO.setFlgAutoHandle(true);
             outboundVO.setItemList(itemList);
             this.saleOrderOutboundInsert(outboundVO,true);
             //endregion
@@ -395,6 +396,14 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
         //endregion
 
         //region  总单
+        //出库数量
+        BigDecimal sumIntoQty = BigDecimal.ZERO;
+        //出库金额
+        BigDecimal sumIntoPriceAmt = BigDecimal.ZERO;
+        if(orderTransmitFlag){
+             sumIntoQty = outboundVO.getItemList().stream().map(OutboundItemVO::getOutingQty).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
+            sumIntoPriceAmt = outboundVO.getItemList().stream().map(OutboundItemVO::getPriceOut).reduce(BigDecimal.ZERO, BigDecimal::add).setScale(2, BigDecimal.ROUND_HALF_UP);
+        }
         //获取 id/单号
         Map<String, Object> codeMap = commonService.getUniqueNoteCode(Constant.docNameConstant.SALEORDER.getName(), false);
         outboundVO.setOutId(codeMap.get("outId").toString()).
@@ -412,8 +421,8 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
         //出库状态等于已出库 更新合计出库数量/金额 = 出库中数量/出库中金额
         if (Constant.OutStatus.YICHUKU.getName().equals(outboundVO.getOutStatus())) {
             outboundVO
-                    .setOutQty(outboundVO.getOutingQty())
-                    .setOutAmt(outboundVO.getOutingAmt())
+                    .setOutQty(orderTransmitFlag ? sumIntoQty : outboundVO.getOutingQty())
+                    .setOutAmt(orderTransmitFlag ? sumIntoQty.multiply(sumIntoPriceAmt) : outboundVO.getOutingAmt())
                     .setOutingQty(BigDecimal.ZERO)
                     .setOutingAmt(BigDecimal.ZERO)
             ;