public function updateDataBySOItem($data)
 {
     $idSalesOrderItem = $data->id_sales_order_item;
     $salesOrderItem = SalesOrderItem::find($idSalesOrderItem);
     if (count($salesOrderItem) == 0) {
         DB::rollback();
         throw $this->response->error(trans('response.no_data_found'), 404);
     }
     $update = LeasingReturnItem::find($data->id);
     $update = $update->update(['rent_date' => $salesOrderItem->rent_date, 'return_date' => $salesOrderItem->return_date, 'id_item' => $salesOrderItem->id_item, 'id_unit' => $salesOrderItem->id_unit, 'quantity' => $salesOrderItem->leasing_return_quantity]);
     if (!$update) {
         DB::rollback();
         throw $this->response->error(trans('response.save_data_failed'), 404);
     }
 }
 public function UpdateQtyLeasingSo($data)
 {
     //kurangi data di leasing return
     $dataLeasingItem = LeasingReturnItem::where('id_leasing_return', $data->id)->get();
     if (!empty($dataLeasingItem)) {
         foreach ($dataLeasingItem as $key => $value) {
             $updateSO = SalesOrderItem::find($value->id_sales_order_item);
             $updateParam = ['leasing_return_quantity' => DB::raw('leasing_return_quantity-' . ($value->quantity_return + $value->quantity_demaged + $value->quantity_lost))];
             if (!$updateSO->update($updateParam)) {
                 DB::rollback();
                 throw $this->response->error('update_so_item_failed', 500);
             }
         }
     }
 }