Просмотр исходного кода

销售退货成本金额取值判断
销售订单一键作废添加退货校验

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

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

@@ -386,7 +386,8 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
         //region  查询当前入库明细中是否存在未空或者0的入库价,如果存在去库存流水差最近一条有价格的数据赋值到当前明细
         Boolean priceIntoFlag = false;
         for (OutboundItemVO outboundItemVO : outboundVO.getItemList()) {
-            if (outboundItemVO.getPriceOut() == null || outboundItemVO.getPriceOut().compareTo(BigDecimal.ZERO) == 0) {
+            //todo 2024-7-5 11:44:12 z确认修改为cost
+            if (outboundItemVO.getCostPrice() == null || outboundItemVO.getCostPrice().compareTo(BigDecimal.ZERO) == 0) {
                 priceIntoFlag = true;
                 //查询库存批次最近一条入库价
                 InboundItemResponse inboundItemResponse = this.selectPriceInto(outboundItemVO);
@@ -873,7 +874,6 @@ public class OutboundSaleReturnService extends BaseService<Outbound> {
             );
             //endregion
 
-
             //region  修改库存
             Map<String, Object> map = new HashMap<>();
             map.put("delOutDetail", outboundItemResponseList);

+ 7 - 0
src/main/java/com/dk/mdm/service/sale/OrderService.java

@@ -1101,6 +1101,13 @@ public class OrderService extends BaseService<Order> {
      * @author : 寇珊珊
      */
     public ResponseResultVO<?> oneKeyInvalid(String id) {
+        //region  查询当前订单下是否存在有效的退货单
+        List<OutboundItemResponse> outboundItemResponseList = outboundItemMapper.selectByCond(new OutboundItemQuery().setFromId(id).setFlgValid(true));
+        if (outboundItemResponseList != null && outboundItemResponseList.size() > 0) {
+            throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.ORDER_IS_EXISTS_RETURN_ORDERS.getMessage());
+        }
+        //endregion
+
         Order orderForUpdate = orderMapper.selectByIdForUpdate(id);
         //region并发校验
         if (!orderForUpdate.getFlgValid()) {