cqpCow 2 lat temu
rodzic
commit
48b3d9d6b6

+ 1 - 16
app/Service/DeleteOrderService.php

@@ -152,7 +152,7 @@ class DeleteOrderService extends Service
             }
 
             //销售订单里的已生产数量
-            (new ProductionOrderService())->writeProductionQuantity(array_column($message,'sale_orders_product_id'));
+            (new ProductionOrderService())->writeProductionQuantityDEL(array_column($message,'sale_orders_product_id'));
 
             DB::commit();
         }catch (\Throwable $e){
@@ -254,7 +254,6 @@ class DeleteOrderService extends Service
 
             date_default_timezone_set('PRC');
 
-            $insertSqlServer = [];
             foreach ($result as $key => $value){
                 SaleOrdersProduct::where('id',$value['sale_orders_product_id'])->decrement('finished_num', $value['finished_num']);
 
@@ -280,7 +279,6 @@ class DeleteOrderService extends Service
                     ]);
 
                 $result[$key]['quantity'] = $value['finished_num'];
-                $insertSqlServer[] = $result[$key];
             }
 
             DispatchSub::whereIn('id',$id)->update([
@@ -288,9 +286,6 @@ class DeleteOrderService extends Service
                 'waste_num' => 0
             ]);
 
-            //入库单红字生成
-            $this->insertSqlServer($insertSqlServer);
-
             DB::commit();
         }catch (\Throwable $e){
             DB::rollBack();
@@ -299,14 +294,4 @@ class DeleteOrderService extends Service
 
         return [true,''];
     }
-
-    //产成品入库
-    public function insertSqlServer($array){
-        if(empty($array)) return [true,''];
-
-        $sqlServerModel = new FyySqlServerService();
-        list($status,$msg) = $sqlServerModel->U8Rdrecord10Save($array,1);
-
-        return [$status,$msg];
-    }
 }

+ 20 - 1
app/Service/DispatchService.php

@@ -432,7 +432,7 @@ class DispatchService extends Service
         return $data;
     }
 
-    //反写写派工数量
+    //反写写派工数量(增加)
     public function writeDispatchQuantity($order_product_id){
         if(empty($order_product_id)) return;
 
@@ -452,6 +452,25 @@ class DispatchService extends Service
         }
     }
 
+    //反写写派工数量(删除)
+    public function writeDispatchQuantityDEL($order_product_id){
+        if(empty($order_product_id)) return;
+
+        $result = DispatchSub::where('del_time',0)
+            ->whereIn('order_product_id',$order_product_id)
+            ->select(DB::raw("sum(dispatch_quantity) as dispatch_quantity"),'order_product_id')
+            ->groupby('order_product_id')
+            ->pluck('dispatch_quantity','order_product_id')
+            ->toArray();
+
+        foreach ($order_product_id as $value){
+            $quantity = $result[$value] ?? 0;
+            OrdersProduct::where('id',$value)->update([
+                'dispatch_complete_quantity' => $quantity
+            ]);
+        }
+    }
+
     //设备上的去完工列表
     public function dispatchMobileOrderList($data){
         $model = DispatchSub::where('del_time',0)

+ 20 - 1
app/Service/ProductionOrderService.php

@@ -215,7 +215,7 @@ class ProductionOrderService extends Service
         return $data;
     }
 
-    //反写已生产数量
+    //反写已生产数量(添加)
     public function writeProductionQuantity($sale_orders_product_id){
         if(empty($sale_orders_product_id)) return;
 
@@ -235,6 +235,25 @@ class ProductionOrderService extends Service
         }
     }
 
+    //反写已生产数量(删除)
+    public function writeProductionQuantityDEL($sale_orders_product_id){
+        if(empty($sale_orders_product_id)) return;
+
+        $result = OrdersProduct::where('del_time',0)
+            ->whereIn('sale_orders_product_id',$sale_orders_product_id)
+            ->select(DB::raw("sum(production_quantity) as production_quantity"),'sale_orders_product_id')
+            ->groupby('sale_orders_product_id')
+            ->pluck('production_quantity','sale_orders_product_id')
+            ->toArray();
+
+        foreach ($sale_orders_product_id as $value){
+            $quantity = $result[$value] ?? 0;
+            SaleOrdersProduct::where('id',$value)->update([
+                'production_quantity' => $quantity
+            ]);
+        }
+    }
+
     //返回已生产数量
     public function getProductionOrderQuantity($data){
         if(empty($data)) return [];