Przeglądaj źródła

仓库组软删除,问题件查询忽略软删除

loustwo 4 lat temu
rodzic
commit
1963864b72

+ 3 - 130
app/OrderIssue.php

@@ -139,77 +139,6 @@ class OrderIssue extends Model
         return $createLog->user->name ?? '';
     }
 
-//    /**
-//     * 同步退货状态
-//     */
-//    public function syncRejectingStatus()
-//    {
-//        $this->syncRejectedBillStatus($this);
-//    }
-
-//    public function syncRejectedBillStatus($orderIssue)
-//    {
-//        if (!$orderIssue->order_id) return;
-//        $orderIssueMap = [];
-//        $rejectedMap = [];
-//        $owner_id = $orderIssue->order->owner_id;
-//
-//        // 获取对应订单的所有商品
-//        $orderPackageQuery = OrderPackage::query()->selectRaw("id")->where('order_id', $orderIssue->order_id);
-//        $orderPackageCommodities = OrderPackageCommodities::query()->with('commodity')->whereIn('order_package_id', $orderPackageQuery)->get();
-//        foreach ($orderPackageCommodities as $orderPackageCommodity) {
-//            $code = $orderPackageCommodity->commodity->sku;
-//            if (empty($orderIssueMap[$code])) $orderIssueMap[$code] = $orderPackageCommodity->amount;
-//            else $orderIssueMap[$code] += $orderPackageCommodity->amount;
-//        }
-//
-//        // 获取对应退回单的所有商品
-//        $orderIssueRejectedBillQuery = OrderIssueRejectedBill::query()->selectRaw("logistic_number_return")->where("order_issue_id", $orderIssue->id);
-//        $RejectedBills = RejectedBill::query()->with('items.quality')->whereIn("logistic_number_return", $orderIssueRejectedBillQuery)->get();
-//        /** @var RejectedBill $rejectedBill */
-//        foreach ($RejectedBills as $rejectedBill) {
-//            foreach ($rejectedBill->items as $item) {
-//                $code = $item->barcode_goods;
-//                $exists = Commodity::query()->where("sku", $code)->where('owner_id',$owner_id)->exists();
-//                if (!$exists) {
-//                    $commodityBarcodeQuery = CommodityBarcode::query()->select('commodity_id')->where('code',$code);
-//                    $commodity = Commodity::query()->where('owner_id',$owner_id)->whereIn('id',$commodityBarcodeQuery)->first();
-//                    if ($commodity)$code = $commodity->sku;
-//                }
-//                $qualityName = $item->quality->name;
-//                if (empty($rejectedMap[$code]) || empty($rejectedMap[$code][$qualityName])) $rejectedMap[$code][$qualityName] = $item->amount;
-//                else $rejectedMap[$code][$qualityName] += $item->amount;
-//            }
-//        }
-//        // 比较
-//        $status = $this->getRejectingStatus($orderIssueMap, $rejectedMap);
-//        $this->update(['rejecting_status' => $status]);
-//        $this->syncWorkOrder();
-//    }
-
-//    private function getRejectingStatus($orderIssueMap, $rejectedMap): string
-//    {
-//        //未退回,差异退回,全部退回,超量退回,部分退回
-//        if (count($rejectedMap) == 0) return "未退回";
-//        $equal = 0;
-//        $portion = 0;
-//        foreach ($rejectedMap as $key => $map) {
-//            if (isset($map['残次']) && $map['残次'] > 0) return "差异退回";
-//            if (empty($orderIssueMap[$key])) return "差异退回";
-//            if(isset($rejectedMap[$key]['正品']) && isset($orderIssueMap[$key])){
-//                if ( $rejectedMap[$key]['正品'] < $orderIssueMap[$key]) $portion += 1;
-//                if ( $rejectedMap[$key]['正品'] > $orderIssueMap[$key]) return "超量退回";                                 // 超量退回
-//                if ( $rejectedMap[$key]['正品'] == $orderIssueMap[$key]) $equal += 1;
-//            }
-//        }
-//        if ($equal == count($orderIssueMap) && $equal == count($rejectedMap)  && $portion == 0) return "全部退回";        // 全部退回
-//        if ($portion > 0) return "部分退回";                                                                              // 部分退回
-//        // 部分退回
-//        if (count(array_diff_key($orderIssueMap,$rejectedMap)) > 0)return '部分退回';
-//        if (count(array_diff_key($rejectedMap,$orderIssueMap)) > 0)return '差异退回';
-//        return "无";
-//    }
-
     public function delete()
     {
         $this->logs()->delete();
@@ -222,64 +151,6 @@ class OrderIssue extends Model
         return parent::delete();
     }
 
-//    /**
-//     * 同步退货单号
-//     */
-//    public function syncRejectedBills()
-//    {
-//        $order_packages = $this->order->packages;
-//        if($order_packages){
-//            foreach ($order_packages as $order_package) {
-//                $logistic_number = $order_package->logistic_number;
-//                $rejectedBill = RejectedBill::query()->where('logistic_number_return',$logistic_number)->first();
-//                if($rejectedBill){
-//                    if(OrderIssueRejectedBill::isExit($this->id,$logistic_number))continue;
-//                    $this->joinRejectedBill($logistic_number);
-//                    if(isset($rejectedBill->items))
-//                        $this->is_new_rejecting = '有';
-//                }
-//            }
-//            $this->save();
-//        }
-//    }
-
-//    public function syncRejected($logistic_number)
-//    {
-//        $query = RejectedBill::query()->selectRaw('id');
-//        if(is_array($logistic_number)){
-//            $query->whereIn('logistic_number_return',$logistic_number);
-//        }elseif (is_string($logistic_number)){
-//            $query->where('logistic_number_return',$logistic_number);
-//        }else return;
-//        $items = RejectedBillItem::query()->whereIn('id_rejected_bill',$query);
-//        if($items->count() > 0) $this->update(['is_new_rejecting'=>'有']);
-//        elseif($items->count() == 0) $this->update(['is_new_rejecting'=>'无']);
-//    }
-
-
-//    /**
-//     * @param array|string $logistic_number
-//     * @return array|void
-//     */
-//    public function joinRejectedBill($logistic_number)
-//    {
-//        if(!$logistic_number)return null;
-//        $this->syncRejected($logistic_number);
-//        if(is_array($logistic_number)){
-//            return $this->rejectedBills()->sync($logistic_number,false);
-//        }
-//        return $this->rejectedBills()->attach($logistic_number);
-//    }
-//
-//    public function unJoinRejectedBill($logistic_number)
-//    {
-//        return $this->rejectedBills()->detach($logistic_number);
-//    }
-//
-//    public function reviseJoinRejectedBill($logistic_number,$logistic_number_update)
-//    {
-//        return $this->rejectedBills()->updateExistingPivot($logistic_number,['logistic_number_return'=>$logistic_number_update]);
-//    }
 
     public function scopeFilter($query, $filters)
     {
@@ -311,7 +182,9 @@ class OrderIssue extends Model
             $query->with(['shop', 'logistic', 'owner', 'packages.commodities.commodity.barcodes']);
         },'orderIssueRejectedBills.rejectedBill'=>function($query){
             $query->with(['owner','logistic','user','items.quality']);
-        },'userWorkgroups','userOwnerGroup','orderDetail']);
+        },'userWorkgroups'=>function($query){
+            $query->onlyTrashed();
+        },'userOwnerGroup','orderDetail']);
 
     }
 

+ 2 - 1
app/UserWorkgroup.php

@@ -7,11 +7,12 @@ use Illuminate\Database\Eloquent\Model;
 
 use App\Traits\ModelLogChanging;
 use Illuminate\Database\Eloquent\Relations\BelongsToMany;
+use Illuminate\Database\Eloquent\SoftDeletes;
 
 class UserWorkgroup extends Model
 {
     use ModelLogChanging;
-
+    use SoftDeletes;
     protected $table="user_workgroups";
     protected $fillable=['name','warehouse_id'];
     protected $appends=[

+ 32 - 0
database/migrations/2022_02_10_113047_user_workgroup_soft_delete.php

@@ -0,0 +1,32 @@
+<?php
+
+use Illuminate\Database\Migrations\Migration;
+use Illuminate\Database\Schema\Blueprint;
+use Illuminate\Support\Facades\Schema;
+
+class UserWorkgroupSoftDelete extends Migration
+{
+    /**
+     * Run the migrations.
+     *
+     * @return void
+     */
+    public function up()
+    {
+        Schema::table('user_workgroups', function (Blueprint $table) {
+            $table->softDeletes();
+        });
+    }
+
+    /**
+     * Reverse the migrations.
+     *
+     * @return void
+     */
+    public function down()
+    {
+        Schema::table('user_workgroups', function (Blueprint $table) {
+            $table->dropSoftDeletes();
+        });
+    }
+}