于继渤 1 год назад
Родитель
Сommit
7634b4cc15

+ 1 - 1
src/main/java/com/dk/mdm/mapper/ivt/OutboundItemMapper.xml

@@ -628,7 +628,7 @@ sys.f_remove_zero(out_qty) as out_qty, out_amt, sys.f_remove_zero(return_qty) as
                case when t.sku_id is null then t.sku_model  else  tmgs.sku_model end                 as "skuModel",
                case when t.sku_id is null then t.sku_name  else  tmgs.sku_name end                   as "skuName",
                sys.f_remove_zero(COALESCE(tpobi.out_qty, 0))                                                            as "outboundOutQty",
-               sys.f_remove_zero(t.out_qty - t.return_qty)                   as "canReturnQty",
+               sys.f_remove_zero(t.out_qty - t.outing_qty- t.return_qty)                   as "canReturnQty",
                t.inv_id,
                tpi.wh_id,
                sys.f_remove_zero(tpi.inv_qty)                                                                           as "invQty",

+ 16 - 1
src/main/java/com/dk/mdm/service/ivt/inventory/InventoryService.java

@@ -18,9 +18,12 @@ import com.dk.mdm.infrastructure.convert.ivt.InOutRecordConvert;
 import com.dk.mdm.infrastructure.convert.ivt.InventoryConvert;
 import com.dk.mdm.mapper.common.CommonMapper;
 import com.dk.mdm.mapper.ivt.*;
+import com.dk.mdm.mapper.mst.GoodsSkuMapper;
 import com.dk.mdm.model.pojo.ivt.*;
 import com.dk.mdm.model.query.ivt.*;
+import com.dk.mdm.model.query.mst.GoodsSkuQuery;
 import com.dk.mdm.model.response.ivt.*;
+import com.dk.mdm.model.response.mst.GoodsSkuResponse;
 import com.dk.mdm.model.vo.ivt.InOutRecordVO;
 import com.dk.mdm.model.vo.ivt.InventoryBatchVO;
 import com.dk.mdm.model.vo.ivt.InventoryVO;
@@ -84,6 +87,10 @@ public class InventoryService extends BaseService<Inventory> {
     @Autowired
     private CommonMapper commonMapper;
 
+
+    @Autowired
+    private GoodsSkuMapper goodsSkuMapper;
+
     /**
      * @desc   : 重写主键
      * @author : 宋扬
@@ -1129,7 +1136,15 @@ public class InventoryService extends BaseService<Inventory> {
                 //endregion
             }
         } else {
-            throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.CAN_OUTBOUND_QUANTITY_INSUFFICIENT.getMessage());
+            if(inOutRecordVO.getSkuId()!=null){
+                List<GoodsSkuResponse> goodsSkuResponses = goodsSkuMapper.selectByCond(new GoodsSkuQuery().setSkuId(inOutRecordVO.getSkuId()));
+                if(goodsSkuResponses!=null && goodsSkuResponses.size()>0){
+                    //提示具体型号不足
+                    throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(),goodsSkuResponses.get(0).getSkuModel()+ ErrorCodeEnum.CAN_OUTBOUND_QUANTITY_INSUFFICIENT.getMessage());
+                }
+            }else{
+                throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), ErrorCodeEnum.CAN_OUTBOUND_QUANTITY_INSUFFICIENT.getMessage());
+            }
         }
         //endregion
         return inOutRecordVO;