|
@@ -34,9 +34,9 @@ class InventoryService extends Service
|
|
'product_id' => $value['product_id'],
|
|
'product_id' => $value['product_id'],
|
|
'storehouse_id' => $data['storehouse_id'],
|
|
'storehouse_id' => $data['storehouse_id'],
|
|
'order_number' => $data['order_number'],
|
|
'order_number' => $data['order_number'],
|
|
|
|
+ 'book_num' => $value['book_num'],
|
|
'counted_num' => $value['counted_num'],
|
|
'counted_num' => $value['counted_num'],
|
|
- 'add_num' => $value['add_num'],
|
|
|
|
- 'reduce_num' => $value['reduce_num'],
|
|
|
|
|
|
+ 'final_num' => $value['final_num'],
|
|
'price' => $value['price'] ?? 0,
|
|
'price' => $value['price'] ?? 0,
|
|
'inventory_id' => $inventory_model->id
|
|
'inventory_id' => $inventory_model->id
|
|
];
|
|
];
|
|
@@ -78,9 +78,9 @@ class InventoryService extends Service
|
|
'product_id' => $value['product_id'],
|
|
'product_id' => $value['product_id'],
|
|
'storehouse_id' => $data['storehouse_id'],
|
|
'storehouse_id' => $data['storehouse_id'],
|
|
'order_number' => $data['order_number'],
|
|
'order_number' => $data['order_number'],
|
|
|
|
+ 'book_num' => $value['book_num'],
|
|
'counted_num' => $value['counted_num'],
|
|
'counted_num' => $value['counted_num'],
|
|
- 'add_num' => $value['add_num'],
|
|
|
|
- 'reduce_num' => $value['reduce_num'],
|
|
|
|
|
|
+ 'final_num' => $value['final_num'],
|
|
'price' => $value['price'] ?? 0,
|
|
'price' => $value['price'] ?? 0,
|
|
'inventory_id' => $inventory_model->id
|
|
'inventory_id' => $inventory_model->id
|
|
];
|
|
];
|
|
@@ -132,7 +132,7 @@ class InventoryService extends Service
|
|
|
|
|
|
$sub = InventorySub::where('del_time',0)
|
|
$sub = InventorySub::where('del_time',0)
|
|
->where('inventory_id', $data['id'])
|
|
->where('inventory_id', $data['id'])
|
|
- ->select('product_id','counted_num','add_num','reduce_num','price')
|
|
|
|
|
|
+ ->select('product_id','counted_num','final_num','price')
|
|
->get()->toArray();
|
|
->get()->toArray();
|
|
$map = (new ProductService())->getProductDetail(array_column($sub,'product_id'));
|
|
$map = (new ProductService())->getProductDetail(array_column($sub,'product_id'));
|
|
foreach ($sub as $key => $value){
|
|
foreach ($sub as $key => $value){
|
|
@@ -254,12 +254,15 @@ class InventoryService extends Service
|
|
$product_submit = $product_submit_reduce = $product_id = [];
|
|
$product_submit = $product_submit_reduce = $product_id = [];
|
|
foreach ($data['sub'] as $value){
|
|
foreach ($data['sub'] as $value){
|
|
if(empty($value['product_id'])) return [false,"盘点单产品ID不为空"];
|
|
if(empty($value['product_id'])) return [false,"盘点单产品ID不为空"];
|
|
|
|
+ if(! is_numeric($value['book_num'])) return [false, '账面数量不合法'];
|
|
$bool = $this->checkNumber($value['counted_num']);
|
|
$bool = $this->checkNumber($value['counted_num']);
|
|
if(! $bool) return [false, '盘点数量不合法,请输入大于等于0的两位数值'];
|
|
if(! $bool) return [false, '盘点数量不合法,请输入大于等于0的两位数值'];
|
|
- $bool = $this->checkNumber($value['add_num']);
|
|
|
|
- if(! $bool) return [false, '盘盈数量不合法,需是大于等于0的两位数值'];
|
|
|
|
- $bool = $this->checkNumber($value['reduce_num']);
|
|
|
|
- if(! $bool) return [false, '盘亏数量不合法,需是大于等于0的两位数值'];
|
|
|
|
|
|
+ if(! is_numeric($value['final_num'])) return [false, '盈亏数量不合法'];
|
|
|
|
+ $num = bcsub($value['counted_num'],$value['book_num'],2);
|
|
|
|
+ $num = floatval($num);
|
|
|
|
+ $final_num = floatval($value['final_num']);
|
|
|
|
+ if($num != $final_num) return [false,'盈亏数量计算错误'];
|
|
|
|
+
|
|
if(isset($value['price'])){
|
|
if(isset($value['price'])){
|
|
$bool = $this->checkNumber($value['price']);
|
|
$bool = $this->checkNumber($value['price']);
|
|
if(! $bool) return [false, '盘点单价不合法,需是大于等于0的两位数值'];
|
|
if(! $bool) return [false, '盘点单价不合法,需是大于等于0的两位数值'];
|
|
@@ -268,11 +271,11 @@ class InventoryService extends Service
|
|
$key = $value['product_id'] . ',' .$data['storehouse_id'];
|
|
$key = $value['product_id'] . ',' .$data['storehouse_id'];
|
|
if(! isset($product_submit[$key])) $product_submit[$key] = 0;
|
|
if(! isset($product_submit[$key])) $product_submit[$key] = 0;
|
|
|
|
|
|
- if($value['reduce_num'] > 0){
|
|
|
|
|
|
+ if($value['final_num'] < 0){
|
|
if(isset($product_submit_reduce[$key])){
|
|
if(isset($product_submit_reduce[$key])){
|
|
- $product_submit_reduce[$key] += $value['reduce_num'];
|
|
|
|
|
|
+ $product_submit_reduce[$key] += $value['final_num'];
|
|
}else{
|
|
}else{
|
|
- $product_submit_reduce[$key] = $value['reduce_num'];
|
|
|
|
|
|
+ $product_submit_reduce[$key] = $value['final_num'];
|
|
}
|
|
}
|
|
$product_id[] = $value['product_id'];
|
|
$product_id[] = $value['product_id'];
|
|
}
|
|
}
|
|
@@ -329,11 +332,11 @@ class InventoryService extends Service
|
|
->get()->toArray();
|
|
->get()->toArray();
|
|
foreach ($sub as $value){
|
|
foreach ($sub as $value){
|
|
$key = $value['product_id'] . ',' . $value['storehouse_id'];
|
|
$key = $value['product_id'] . ',' . $value['storehouse_id'];
|
|
- if($value['reduce_num'] > 0){//盘亏
|
|
|
|
|
|
+ if($value['final_num'] < 0){//盘亏
|
|
if(isset($product_save[$key])){
|
|
if(isset($product_save[$key])){
|
|
- $product_save[$key] += $value['reduce_num'];
|
|
|
|
|
|
+ $product_save[$key] += $value['final_num'];
|
|
}else{
|
|
}else{
|
|
- $product_save[$key] = $value['reduce_num'];
|
|
|
|
|
|
+ $product_save[$key] = $value['final_num'];
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|