cqp 3 月之前
父节点
当前提交
84f0a35186

+ 8 - 2
app/Model/UseScopeBaseModel.php

@@ -688,14 +688,20 @@ class UseScopeBaseModel extends Model
                     });
             }
         }else{
+            if($check_search){
+                $check_search2 = "(" . $check_search . " And top_depart_id = {$top_depart})";
+            } else{
+                $check_search2 = "(top_depart_id = {$top_depart})";
+            }
+
             //某个分社全部 去掉不可见数
             $query->where('top_depart_id', $top_depart_id)
                 ->when(! empty($check_search), function ($query) use ($check_search) {
                     return $query->whereRaw($check_search);
                 })
                 ->whereIn('depart_id', $depart_range)
-                ->orWhere('top_depart_id',$top_depart)
-                ->whereNotIn('id', $id);
+                ->whereNotIn('id', $id)
+                ->OrWhereRaw($check_search2);
         }
     }
 

+ 1 - 7
app/Service/CheckService.php

@@ -1114,13 +1114,7 @@ class CheckService extends Service
         foreach ($result as $value){
             $key = $value['product_id'] . $value['storehouse_id'];
 
-            $number = 0;
-            if($value['add_num'] > 0){
-                $number = $value['add_num'];
-            }elseif($value['reduce_num'] > 0){
-                $number = -($value['reduce_num']);
-            }
-
+            $number = $value['final_num'];
             if(isset($insert[$key])){
                 $insert[$key]['number'] += $number;
             }else{

+ 1 - 0
app/Service/CustomerService.php

@@ -556,6 +556,7 @@ class CustomerService extends Service
             $model->where('pond_state', '>',0)->where('top_depart_id',$top_depart_id);
         }
         if(! empty($data['title'])) $model->where('title', 'LIKE', '%'.$data['title'].'%');
+        if(! empty($data['address2'])) $model->where('address2', 'LIKE', '%'.$data['address2'].'%');
         if(! empty($data['time_type'])) {
             if($data['time_type'] == 1) {
                 $start = strtotime('today');

+ 2 - 2
app/Service/EmployeeService.php

@@ -290,7 +290,7 @@ class EmployeeService extends Service
             $employee_id = array_column($employee_id,'employee_id');
             $model->whereIn("id", $employee_id);
         }else{
-            if(! $user['is_all_depart'] && ! empty($data['is_top_qx'])){
+            if(! $user['is_all_depart'] && empty($data['is_top_qx'])){
                 $employee_id = $this->getEmployee($user);
                 $model->whereIn('id',$employee_id);
             }
@@ -844,7 +844,7 @@ class EmployeeService extends Service
             $depart_id = $this->getDepartIdListOfMySales($user);
             $model->whereIn('id', $depart_id);
         }else{
-            if(! $user['is_all_depart'] && ! empty($data['is_top_qx'])){
+            if(! $user['is_all_depart'] && empty($data['is_top_qx'])){
                 $depart_id = $this->getDepartIdList($user);
                 $model->whereIn('id',$depart_id);
             }

+ 13 - 18
app/Service/ImportService.php

@@ -1450,7 +1450,7 @@ class ImportService extends Service
         $time = time();
 
         $top_depart_id = $storehouse_id = $employee_id = 0;
-        $product_submit = $product_id = [];
+        $product_submit = $product_id = $sub = [];
         foreach ($array as $value){
             if($value[0]){
                 $depart_tmp = $depart_map[$value[0]] ?? 0;
@@ -1480,8 +1480,8 @@ class ImportService extends Service
                 'storehouse_id' => $storehouse_id,
                 'order_number' => "",
                 'counted_num' => $value[3],
-                'add_num' => 0,
-                'reduce_num' => 0,
+                'book_num' => 0,
+                'final_num' => 0,
                 'inventory_id' => $employee_id
             ];
         }
@@ -1507,24 +1507,16 @@ class ImportService extends Service
             $sub[$key]['order_number'] = $order_number;
             $keys = $value['product_id'] . ',' . $value['storehouse_id'];
             if(isset($inventory_map[$keys])){
-                if($value['counted_num'] >= $inventory_map[$keys]){
-                    $num = bcsub($value['counted_num'], $inventory_map[$keys],2);
-                    $sub[$key]['add_num'] = $num;
-                }else{
-                    $num = bcsub($inventory_map[$keys], $value['counted_num'],2);
-                    $sub[$key]['reduce_num'] = $num;
-                }
+                $sub[$key]['book_num'] = $inventory_map[$keys];
+                $num = bcsub($value['counted_num'], $inventory_map[$keys],2);
+                $sub[$key]['final_num'] = $num;
             }else{
-                if($value['counted_num'] >= 0){
-                    $sub[$key]['add_num'] = $value['counted_num'];
-                }else{
-                    $sub[$key]['reduce_num'] = $value['counted_num'];
-                }
+                $sub[$key]['final_num'] = $value['counted_num'];
             }
 
-            if($sub[$key]['reduce_num'] != 0) {
+            if($sub[$key]['final_num'] < 0) {
                 $product_reduce_id[] = $value['product_id'];
-                $product_submit_reduce[$keys] = $sub[$key]['reduce_num'];
+                $product_submit_reduce[$keys] = $sub[$key]['final_num'];
             }
         }
 
@@ -1556,6 +1548,9 @@ class ImportService extends Service
             //写入数据
             InventorySub::insert($sub);
 
+            //单据创建时是否校验库存
+            (new CheckService())->orderInventoryInsert(['order_number' => $order_number, 'is_check_stock' => $is_check_stock]);
+
             DB::commit();
         }catch (\Exception $exception){
             DB::rollBack();
@@ -1565,7 +1560,7 @@ class ImportService extends Service
             return [false, $exception->getMessage() . $exception->getLine() . $exception->getCode()];
         }
 
-        return [true, ["order" => ['order_number' => $order_number, 'is_check_stock' => $is_check_stock]]];
+        return [true, ''];
     }
 }
 

+ 18 - 15
app/Service/InventoryService.php

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

+ 0 - 1
routes/api.php

@@ -278,7 +278,6 @@ Route::group(['middleware'=> ['checkLogin']],function ($route){
     $route->any('inventoryDetail', 'Api\InventoryController@inventoryDetail');
     $route->any('inventoryAdd', 'Api\InventoryController@inventoryAdd');
     $route->any('inventoryDel', 'Api\InventoryController@inventoryDel');
-    $route->any('inventoryImport', 'Api\InventoryController@inventoryImport');
 
     //排班设置
     $route->any('scheduleList', 'Api\ScheduleController@getList');