|
@@ -130,6 +130,7 @@ class ProductInventoryService extends Service
|
|
|
->where('number','>',0)
|
|
|
->select('id','product_id','number','crt_time','lock_number')
|
|
|
->get()->toArray();
|
|
|
+ if(empty($array)) return [false,'未找到产品库存数据'];
|
|
|
|
|
|
//已保存单据的产品数量
|
|
|
$map = [];
|
|
@@ -166,19 +167,19 @@ class ProductInventoryService extends Service
|
|
|
}
|
|
|
|
|
|
//比较
|
|
|
- if(! empty($array)){
|
|
|
- foreach ($array as $value){
|
|
|
- if(! isset($product_map[$value['product_id']])) return [false,'产品不存在'];
|
|
|
-
|
|
|
- if(! empty($setting_map['lock_number'])){//真实库存
|
|
|
- $tmp = $map[$value['product_id']] ?? 0;//已保存数量
|
|
|
- $tmp_lock = ($value['lock_number'] > 0 ? $value['lock_number'] : 0) - $tmp;
|
|
|
- $number = $value['number'] - ($tmp_lock > 0 ? $tmp_lock : 0);
|
|
|
- }else{
|
|
|
- $number = $value['number'];
|
|
|
- }
|
|
|
- if($product_map[$value['product_id']] > $number) return [false,$pro[$value['product_id']] . '数量不足,当前数量:'. $number];
|
|
|
+ foreach ($array as $value){
|
|
|
+ $pro_tmp = $pro[$value['product_id']] ?? '';
|
|
|
+ if(! $pro_tmp) return [false,'异常产品数据'];
|
|
|
+ if(! isset($product_map[$value['product_id']])) return [false,'产品:' . $pro_tmp.'库存不足'];
|
|
|
+
|
|
|
+ if(! empty($setting_map['lock_number'])){//真实库存
|
|
|
+ $tmp = $map[$value['product_id']] ?? 0;//已保存数量
|
|
|
+ $tmp_lock = ($value['lock_number'] > 0 ? $value['lock_number'] : 0) - $tmp;
|
|
|
+ $number = $value['number'] - ($tmp_lock > 0 ? $tmp_lock : 0);
|
|
|
+ }else{
|
|
|
+ $number = $value['number'];
|
|
|
}
|
|
|
+ if($product_map[$value['product_id']] > $number) return [false,$pro_tmp . '数量不足,当前数量:'. $number];
|
|
|
}
|
|
|
|
|
|
return [true,''];
|