Просмотр исходного кода

Merge branch 'Haozi' of ssh://was.baoshi56.com:10022/var/git/bswas

 Conflicts:
	app/Providers/AppServiceProvider.php
LD 5 лет назад
Родитель
Сommit
a00c62e7fe

+ 16 - 3
app/Http/Controllers/TestController.php

@@ -32,6 +32,7 @@ use App\Http\Requests\TestAaRequest;
 use App\Imports\OrderTrackingImport;
 use App\InventoryAccount;
 use App\Jobs\BatchTaskJob;
+use App\Jobs\DeleteRepetitionSkuItem;
 use App\Jobs\OrderCreateInstantBill;
 use App\Jobs\OrderFreeze;
 use App\LaborReport;
@@ -53,6 +54,7 @@ use App\OracleInvLotLocId;
 use App\Order;
 use App\OrderBin;
 use App\OrderCommodity;
+use App\OrderCommodityAssign;
 use App\OrderIssue;
 use App\OrderPackage;
 use App\OrderPackageCommodities;
@@ -965,9 +967,20 @@ class TestController extends Controller
         dd($procurementQuotations->toJson());
     }
 
-    public function testWeight(Request $request )
+    public function deleteRepetitionSku()
     {
-
-        Log::query()->create(['method'=>'test hengli','description'=>json_encode($request->all())]);
+        $Commodities = Commodity::query()->selectRaw('owner_id,sku,count(1) as counts ')->whereNotNull(['owner_id','sku'])->groupBy('owner_id','sku')->having('counts','>','1')->get();
+        $CommodityItems = $Commodities->chunk(200);
+        foreach ($CommodityItems as $items) {
+            $Commodities = Commodity::query()->whereIn('owner_id',data_get($items,'*.owner_id'))->whereIn('sku',data_get($items,'*.sku'))->get();
+            $arr = collect($Commodities->toArray());
+            $arr = $arr->groupBy(['owner_id','sku']);
+            foreach ($arr as $item){
+                foreach ($item as $value){
+                    if (count($value)<=1) continue;
+                    dispatch(new DeleteRepetitionSkuItem($value));
+                }
+            }
+        }
     }
 }

+ 5 - 4
app/Http/Controllers/api/thirdPart/weixin/ProcurementController.php

@@ -134,14 +134,15 @@ class ProcurementController extends Controller
             }
         }
         if ((int)$deliveryAmount>(int)$procurement->quantity) return  response()->json(['status'=>0,'message' => '当前送货数量叠加已送货数量大于采购数量','data'=>$deliveryAmount], 401);
-        /** @var $apiUserService UserService */
-        $apiUserService=app(UserService::class);
-        $user= $apiUserService->getUser($request->header('token'));
+//        /** @var $apiUserService UserService */
+//        $apiUserService=app(UserService::class);
+//        $user= $apiUserService->getUser($request->header('token'));
         //生成送货单
         $procurementDelivery=new ProcurementDeliverie();
         $procurementDelivery['procurement_id']=$param['id'];
         $procurementDelivery['amount']=$param['deliverAmount'];
-        $procurementDelivery['initiator']=$user->data->id;
+//        $procurementDelivery['initiator']=$user->data->id;
+        $procurementDelivery['initiator']=Auth::user()['id'];
         $procurementDelivery['signer']=$procurement->initiator ?? 0;
         $procurementDelivery['created_at']=Carbon::now()->toDateTimeString();
         $procurementDelivery['updated_at']=Carbon::now()->toDateTimeString();

+ 48 - 0
app/Jobs/DeleteRepetitionSkuItem.php

@@ -0,0 +1,48 @@
+<?php
+
+namespace App\Jobs;
+
+use App\Commodity;
+use App\Services\LogService;
+use App\StoreItem;
+use Illuminate\Bus\Queueable;
+use Illuminate\Contracts\Queue\ShouldQueue;
+use Illuminate\Foundation\Bus\Dispatchable;
+use Illuminate\Queue\InteractsWithQueue;
+use Illuminate\Queue\SerializesModels;
+
+class DeleteRepetitionSkuItem implements ShouldQueue
+{
+    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
+
+    protected $param;
+    /**
+     * Create a new job instance.
+     *
+     * @return void
+     */
+    public function __construct($param)
+    {
+        $this->param=$param;
+    }
+
+    /**
+     * Execute the job.
+     *
+     * @return void
+     */
+    public function handle()
+    {
+        ini_set('max_execution_time', 15);
+        //关联commodity_id 的表替换商品id
+        StoreItem::query()->whereIn('commodity_id',data_get($this->param,'*.id'))->update(['commodity_id'=>$this->param[0]['id']]);
+        foreach ($this->param as $del){
+            if ($del['id']==$this->param[0]['id']) continue;
+            $commodity=Commodity::query()->find($del['id']);
+            if ($commodity){
+                $commodity->delete();
+                LogService::log(__METHOD__,"去除重复sku商品",json_encode($commodity));
+            }
+        }
+    }
+}

+ 2 - 1
app/Providers/AppServiceProvider.php

@@ -149,6 +149,7 @@ class AppServiceProvider extends ServiceProvider
 
     private function loadingService(){
         app()->singleton('AllInventoryService',AllInventoryService::class);
+        app()->singleton('ApiUserService',\App\Services\api\UserService::class);
         app()->singleton('AuthorityService',AuthorityService::class);
         app()->singleton('BatchService',BatchService::class);
         app()->singleton('BatchUpdateService', BatchUpdateService::class);
@@ -242,7 +243,7 @@ class AppServiceProvider extends ServiceProvider
         app()->singleton('UnitService',UnitService::class);
         app()->singleton('UserOwnerGroupService',UserOwnerGroupService::class);
         app()->singleton('UserService',UserService::class);
-        app()->singleton('ApiUserService',\App\Services\api\UserService::class);
+//        app()->singleton('ApiUserService',\App\Services\api\UserService::class);
         app()->singleton('UserWorkgroupService',UserWorkgroupService::class);
         app()->singleton('WarehouseService',WarehouseService::class);
         app()->singleton('WaybillFinancialService',WaybillFinancialService::class);

+ 1 - 1
app/Services/InventoryCompareService.php

@@ -170,7 +170,7 @@ class InventoryCompareService
                 ->selectRaw('commodities.name commodity_name,commodities.sku commodity_sku')
             ->leftJoin('commodity_barcodes','commodity_barcodes.commodity_id','commodities.id')
                 ->selectRaw('commodity_barcodes.code commodity_barcode_code')
-                ->groupBy('owner_name','commodity_sku','inventory_compares.custom_location','inventory_compares.quality')
+                ->groupBy('owner_name','commodity_sku','inventory_compares.custom_location','inventory_compares.quality','inventory_compares.created_at')
             ->sql();
     }