소스 검색

1、修改订单保存后,出库和入库的数据问题

zhoux 1 년 전
부모
커밋
784e73e59c

+ 10 - 3
src/main/java/com/dk/mdm/service/ivt/outbound/OutboundSaleOrderService.java

@@ -297,6 +297,9 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
                 inboundVO.setMakeStaff(outboundVO.getMakeStaff());
                 //公司
                 inboundVO.setCpId(outboundVO.getCpId());
+                // 来源Id
+                inboundVO.setFromId(outboundVO.getFromId());
+                inboundVO.setFromNo(outboundVO.getFromNo());
                 //实体转换
                 Inbound inbound = inboundConvert.convertToPo(inboundVO);
                 inboundMapper.insert(inbound);
@@ -311,14 +314,17 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
                     //入库类型
                     inboundItemVO.setIntoType(inboundVO.getIntoType());
                     //入库状态等于已入库 更新合计入库数量/金额 = 入库中数量/入库中金额
+                    BigDecimal costAmount = outboundItemVO.getOutQty().multiply(outboundItemVO.getPriceOut()).setScale(2, BigDecimal.ROUND_HALF_UP);
                     inboundItemVO
+                            .setFromId(outboundItemVO.getFromId())
+                            .setFromItemId(outboundItemVO.getFromItemId())
                             .setPriceInto(outboundItemVO.getPriceOut())
                             .setIntoQty(outboundItemVO.getOutQty())
-                            .setIntoAmt(outboundItemVO.getOutQty())
+                            .setIntoAmt(costAmount)
                             .setIntoingQty(BigDecimal.ZERO)
                             .setIntoingAmt(BigDecimal.ZERO)
                             .setCostPrice(outboundItemVO.getPriceOut())
-                            .setCostAmt(outboundItemVO.getOutQty().multiply(outboundItemVO.getPriceOut()).setScale(2, BigDecimal.ROUND_HALF_UP))
+                            .setCostAmt(costAmount)
                     ;
                     //入库状态
                     inboundItemVO.setIntoStatus(inboundVO.getIntoStatus());
@@ -339,6 +345,7 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
                     // 商品
                     inboundItemVO.setSkuModel(outboundItemVO.getSkuModel());
                     inboundItemVO.setSkuName(outboundItemVO.getSkuName());
+                    // 来源Id
                     //实体转换
                     InboundItem inboundItem = inboundItemConvert.convertToPo(inboundItemVO);
                     inboundItemMapper.insert(inboundItem);
@@ -462,7 +469,7 @@ public class OutboundSaleOrderService extends BaseService<Outbound> {
                     ErrorCodeEnum.OUTBOUND_ITEM_NOT_EXIST.getMessage());
         }
         for (OutboundItemVO outboundItemVO : outboundVO.getItemList()) {
-
+            outboundItemVO.setItemId(null );
             //region 将库存需要的参数赋值
             outboundItemVO.setInventoryType(Constant.InventoryType.OUTBOUND.getName());
             outboundItemVO.setInventoryDocCode(Constant.InventoryDocCode.SALE_ORDER.getValue());

+ 6 - 2
src/main/java/com/dk/mdm/service/sale/OrderService.java

@@ -297,7 +297,9 @@ public class OrderService extends BaseService<Order> {
             for (OrderItemVO orderItemVO : orderVO.getItemList()) {
                 OrderItem orderItem = orderItemConvert.convertToPo(orderItemVO);
                 orderItem.setOrderId(order.getOrderId()).setCpId(order.getCpId()).setOutStatus(Constant.OutStatus.DAICHUKU.getName());
+                orderItem.setItemId(UUID.randomUUID().toString());
                 orderItemMapper.insert(orderItem);
+                orderItemVO.setItemId(orderItem.getItemId());
             }
         }
 
@@ -446,14 +448,16 @@ public class OrderService extends BaseService<Order> {
                 orderItemVO.setOutingAmt(orderItemVO.getItemAmt());
                 orderItemVO.setPriceOut(orderItemVO.getPriceSale());
                 orderItemVO.setFromId(orderVO.getOrderId());
-                orderItemVO.setFromItemId(orderItemVO.getFromItemId());
+                orderItemVO.setFromItemId(orderItemVO.getItemId());
             }
             OutboundVO outboundVO = outBoundDtoConvert.convertToPo(orderVO);
             outboundVO.setOutDate(LocalDate.now());
             outboundVO.setOutingQty(orderVO.getSumQuantity());
-            outboundVO.setOutingAmt(orderVO.getSumAmount());
+            outboundVO.setOutingAmt(orderVO.getFactAmt());
             outboundVO.setFlgAutoHandle(orderVO.getFlgAutoHandle());
             outboundVO.setFlgHandleSetting(orderVO.getFlgHandleSetting());
+            outboundVO.setFromId(order.getOrderId());
+            outboundVO.setFromNo(order.getOrderNo());
             outboundSaleOrderService.inventoryOUtBond(outboundVO);
         }