Browse Source

Merge branch 'master' of http://101.133.135.193:20080/huhao/baoshi-was

zhouzhendong 3 năm trước cách đây
mục cha
commit
d649cb6163

+ 1 - 1
app/Console/Commands/WasSyncWmsAsnInformation.php

@@ -84,7 +84,7 @@ class WasSyncWmsAsnInformation extends Command
     public function WasSyncWmsAsn(){
         /** @var StoreService $storeService */
         $storeService  = app(StoreService::class);
-        ini_set('memory_limit', '1024M');
+        ini_set('memory_limit', '2048M');
         $storeService->storeCreateByWms();
         $storeService->storeUpdateByWms();
     }

+ 15 - 0
app/Http/Controllers/OrderIssueController.php

@@ -360,6 +360,8 @@ class OrderIssueController extends Controller
             OrderIssue::query()
                 ->where('id', $request->input('id'))
                 ->update([$request->input('column') => $request->input('value')]);
+            $orderIssue = OrderIssue::query() ->where('id', $request->input('id'))->first();
+            SyncOrderIssueOrWorkOrderBySWMS::dispatch($orderIssue,SyncOrderIssueOrWorkOrderBySWMS::$ORDER_ISSUE_TYPE);
             $this->logService->log(__METHOD__, '更新问题件', json_encode($request->getContent()));
             if ($request->input('column') == 'order_issue_type_id') {
                 event(new AddOrUpdateOrderIssues([$request->input('id')]));
@@ -826,6 +828,10 @@ class OrderIssueController extends Controller
             $data['baoshi_express_remission'] = $request->input("baoshi_express_remission");
         }
         OrderIssue::query()->whereIn('id', $orderIssueIds)->update($data);
+        $orderIssues = OrderIssue::query()->whereIn('id',$orderIssueIds)->get();
+        foreach ($orderIssues as $orderIssue){
+            SyncOrderIssueOrWorkOrderBySWMS::dispatch($orderIssue,SyncOrderIssueOrWorkOrderBySWMS::$ORDER_ISSUE_TYPE);
+        }
         $userWorkGroupIds = $request->input("userWorkGroupIds");
         if (isset($userWorkGroupIds)) {
             $orderIssues = OrderIssue::query()->whereIn('id', $orderIssueIds)->get();
@@ -852,6 +858,10 @@ class OrderIssueController extends Controller
         if (!Gate::allows('订单管理-问题件-编辑')) return ['success' => false, 'error' => '没有对应权限'];
         try {
             $service->batchUpdateFinalStatus($request->input('ids', []), $request->input('final_status'));
+            $orderIssues = OrderIssue::query()->whereIn('id',$request->input('ids', []))->get();
+            foreach ($orderIssues as $orderIssue){
+                SyncOrderIssueOrWorkOrderBySWMS::dispatch($orderIssue,SyncOrderIssueOrWorkOrderBySWMS::$ORDER_ISSUE_TYPE);
+            }
             return ['success' => true];
         } catch (Exception $e) {
             return ['success' => false, 'message' => '批量修改异常'];
@@ -864,6 +874,11 @@ class OrderIssueController extends Controller
         if (!Gate::allows('订单管理-问题件-编辑')) return ['success' => false, 'error' => '没有对应权限'];
         try {
             $service->batchUpdateIssueType($request->input('ids', []), $request->input('order_issue_type_id'));
+            $orderIssues = OrderIssue::query()->whereIn('id',$request->input('ids', []))->get();
+            foreach($orderIssues as $orderIssue){
+                SyncOrderIssueOrWorkOrderBySWMS::dispatch($orderIssue,SyncOrderIssueOrWorkOrderBySWMS::$ORDER_ISSUE_TYPE);
+            }
+
             return ['success' => true];
         } catch (Exception $e) {
             return ['success' => false, 'message' => '批量修改异常'];

+ 9 - 0
app/Http/Controllers/TestController.php

@@ -16,15 +16,24 @@ use App\Rejected;
 use App\RejectedBill;
 use App\RejectedBillItem;
 use App\Services\LogService;
+use App\Services\OracleDocAsnHerderService;
 use App\Services\OracleDOCOrderHeaderService;
 use App\Services\OrderCommodityService;
 use App\Services\OrderService;
+use App\Services\OwnerService;
+use App\Services\RejectedBillService;
+use App\Services\StoreItemService;
+use App\Services\StoreService;
 use App\Services\WaveService;
 use App\Services\WaybillService;
 use App\SortingStation;
+use App\Store;
 use App\User;
 use App\UserToken;
+use App\ValueStore;
+use App\Warehouse;
 use App\Waybill;
+use Carbon\Carbon;
 use Illuminate\Database\Eloquent\Collection;
 use Illuminate\Http\Request;
 use Illuminate\Support\Facades\Auth;

+ 4 - 3
app/Jobs/SyncOrderIssueOrWorkOrderBySWMS.php

@@ -48,10 +48,11 @@ class SyncOrderIssueOrWorkOrderBySWMS implements ShouldQueue
         /** @var SyncSWMSOrderIssueAndWorkOrderService  $service */
         $service = app(SyncSWMSOrderIssueAndWorkOrderService::class);
         if($this->type ==  $this::$ORDER_ISSUE_TYPE){
-            if($this->orderIssue instanceof WorkOrder){
-                $service->sendWorkOrder($this->workOrder);
-            } else if($this->orderIssue instanceof OrderIssue){
+            $class = $this->orderIssue->getMorphClass();
+            if(str_contains($class,'OrderIssue')){
                 $service->sendOrderIssue($this->orderIssue);
+            } else {
+                $service->sendWorkOrder($this->orderIssue);
             }
         } else if($this->type ==  $this::$WORK_ORDER_TYPE){
             $service->sendWorkOrder($this->workOrder);

+ 1 - 1
app/Services/OracleDocAsnHerderService.php

@@ -33,7 +33,7 @@ class OracleDocAsnHerderService
             ->with(['asnType', 'asnStatus'])
             ->select('asnno', 'asnstatus', 'asntype', 'addtime', 'edittime', 'customerid', 'notes', 'warehouseid', 'asnreference3', 'asnreference2')
             ->where('EditTime', '>=', $startDate)
-            ->whereColumn('EditTime', '<>', 'addTime')
+            ->whereColumn('EditTime', '!=', 'addTime')
             ->orderByDesc('EditTime')
             ->get();
     }

+ 1 - 1
app/Services/OrderRejectingStatusService.php

@@ -86,7 +86,7 @@ class OrderRejectingStatusService
             $amount = $item->amount;
             if (!Commodity::query()->where("sku", $code)->where('owner_id', $order->owner_id)->exists()) {
                 $query = CommodityBarcode::query()->select('commodity_id')->where('code', $code);
-                $commodity = Commodity::query()->where('owner_id', $order->owner_id)->whereIn('id', $query)->first();
+                $commodity = Commodity::query()->where('owner_id', $order->owner_id)->whereIn('id', $query)->whereNotNull('sku')->first();
                 if ($commodity) $code = $commodity->sku;
             }
             $quality_name = $item->quality->name;

+ 2 - 2
app/Services/StoreItemService.php

@@ -101,12 +101,12 @@ class StoreItemService
             $commodity=$dataHandlerService->getKeyValue(['owner_id'=>$owner_map[$asnDetail->customerid],'sku'=>$asnDetail->sku],$commodities_map);
             if (!$commodity)continue;
             $storeItem = $dataHandlerService
-                ->getKeyValue(['store_id' => $store_map[$asnDetail->asnno], 'asn_line_code' => $asnDetail->asnlineno, 'commodity_id' => $commodity->id], $storeItem_map);
+                ->getKeyValue(['store_id' => $store_map[$asnDetail->asnno]??'', 'asn_line_code' => $asnDetail->asnlineno, 'commodity_id' => $commodity->id], $storeItem_map);
             if ($storeItem ?? false) continue;
             $status = null;
             if ($asnDetail->lineStatus && $asnDetail->lineStatus->codename_c == '完全收货') $status = '已入库';
             if ($asnDetail->lineStatus && $asnDetail->lineStatus->codename_c == '订单创建') $status = '未入库';
-            //if (empty($store_asn_code_map[$asnDetail->asnno])) continue;
+            if (empty($store_asn_code_map[$asnDetail->asnno])) continue;
             $params[] = [
                 'store_id' => $store_asn_code_map[$asnDetail->asnno]['id'],
                 'asn_line_code' => (string)$asnDetail->asnlineno,

+ 90 - 80
app/Services/StoreService.php

@@ -27,17 +27,19 @@ use Illuminate\Support\Facades\Log;
 class StoreService
 {
     use ServiceAppAop;
-    protected $modelClass=Store::class;
+
+    protected $modelClass = Store::class;
+
     private function conditionQuery(array $params)
     {
         $stores = Store::query()->with(['storeItems.store', 'warehouse', 'owner'])->where('is_fast_stored', '无')->orderBy('id', 'DESC');
         $columnQueryRules = [
             'asn_code' => ['batch' => ''],
-            'remark' => ['batch' => '','timeLimit' => 15],
+            'remark' => ['batch' => '', 'timeLimit' => 15],
             'created_at_start' => ['alias' => 'created_at', 'startDate' => ' 00:00:00'],
             'created_at_end' => ['alias' => 'created_at', 'endDate' => ' 23:59:59'],
-            'owner' => ['alias' => 'owner_id','multi' => ','],
-            'warehouse' => ['alias' => 'warehouse_id','multi' => ','],
+            'owner' => ['alias' => 'owner_id', 'multi' => ','],
+            'warehouse' => ['alias' => 'warehouse_id', 'multi' => ','],
             'status' => ['multi' => ','],
             'stored_method' => ['multi' => ','],
             'id' => ['multi' => ',']
@@ -67,15 +69,15 @@ class StoreService
         $oracleDocAsnHerderService = app(OracleDocAsnHerderService::class);
         $last_time = $this->getAsnLastSyncAt($created_at, 'create');
         $asnHerders = $oracleDocAsnHerderService->getWmsAsnOnStartDateCreate($last_time);
-        if (count($asnHerders)<1) return;
+        if (count($asnHerders) < 1) return;
         try {
-            $arr=[];
-            foreach ($asnHerders as $asnHerder){
-                array_push($arr,$asnHerder->asnno);
+            $arr = [];
+            foreach ($asnHerders as $asnHerder) {
+                array_push($arr, $asnHerder->asnno);
             }
             RejectedPushJob::dispatch($arr);
         } catch (\Exception $e) {
-            Log::error("退货推送asn集合失败",[$e->getMessage()]);
+            Log::error("退货推送asn集合失败", [$e->getMessage()]);
         }
         $last_time = $asnHerders->first()['addtime'];
         $last_records = $asnHerders->where('addtime', $last_time);
@@ -97,21 +99,22 @@ class StoreService
         $oracleDocAsnHerderService = app(OracleDocAsnHerderService::class);
         $last_time = $this->getAsnLastSyncAt($updated_at, 'update');
         app('LogService')
-            ->log(__METHOD__, __FUNCTION__, '11 获取上次更新时间:' . $last_time );
+            ->log(__METHOD__, __FUNCTION__, '11 获取上次更新时间:' . $last_time);
         $asnHerders = $oracleDocAsnHerderService->getWmsAsnOnStartDateEdit($last_time);
-        if (count($asnHerders)<1) return;
+
+        if (count($asnHerders) < 1) return;
         try {
-            $arr=[];
-            foreach ($asnHerders as $asnHerder){
-                array_push($arr,$asnHerder->asnno);
+            $arr = [];
+            foreach ($asnHerders as $asnHerder) {
+                array_push($arr, $asnHerder->asnno);
             }
             RejectedPushJob::dispatch($arr);
         } catch (\Exception $e) {
-            Log::error("退货推送asn集合失败",[$e->getMessage()]);
+            Log::error("退货推送asn集合失败", [$e->getMessage()]);
         }
         $last_time = $asnHerders->first()['edittime'];
         $last_records = $asnHerders->where('edittime', $last_time);
-        $this->createStore($asnHerders,"update");
+        $this->createStore($asnHerders,'update');
         $this->updateStore($asnHerders);
         $this->createStoreRejected($asnHerders);
         $this->deleteCacheKey($update_set, $update_keys);
@@ -120,7 +123,7 @@ class StoreService
 
     }
 
-    public function createStore($asnHerders,$isUpdate=null)
+    public function createStore($asnHerders, $isUpdate = null)
     {
         if (!$asnHerders) return null;
         /** @var OwnerService $ownerService */
@@ -135,11 +138,11 @@ class StoreService
         }
         $owners = $ownerService->getOwnerByCodes($owner_codes);
         $warehouses = Warehouse::query()->get();
-        $owners_code_map=[];
+        $owners_code_map = [];
         foreach ($owners as $owner) {
             $owners_code_map[$owner->code] = $owner;
         }
-        $warehouses_code_map=[];
+        $warehouses_code_map = [];
         foreach ($warehouses as $warehouse) {
             $warehouses_code_map[$warehouse->code] = $warehouse;
         }
@@ -151,7 +154,7 @@ class StoreService
         /** @var RejectedBillService $rejectedBillService */
         $rejectedBillService = app(RejectedBillService::class);
         $rejectedBillService->syncLoadedStatusByAsnHerder($asnHerders);
-        if (!$isUpdate)$this->pushJob($asnHerders);
+        if (!$isUpdate) $this->pushJob($asnHerders);
         if (!$isUpdate) unset($asnHerders);
         unset($owners_code_map, $warehouses_code_map);
     }
@@ -169,8 +172,10 @@ class StoreService
             $owner = $owners_code_map[$asnHerder->customerid] ?? null;
             $warehouse = $warehouses_code_map[$asnHerder->warehouseid] ?? null;
             $status = null;
+            $fast = '无';
             if ($asnHerder->asnStatus && $asnHerder->asnStatus->codename_c == '完全收货') $status = '已入库';
             if ($asnHerder->asnStatus && $asnHerder->asnStatus->codename_c == '订单创建') $status = '未入库';
+            if ($asnHerder->asnType && $asnHerder->asnType->codename_c == '调拨入库') $fast = '快速入库';
             $params[] = [
                 'asn_code' => $asnHerder->asnno,
                 'warehouse_id' => $warehouse->id ?? null,
@@ -180,6 +185,7 @@ class StoreService
                 'remark' => $asnHerder->notes ?? null,
                 'created_at' => $asnHerder->addtime ?? null,
                 'updated_at' => $asnHerder->edittime ?? null,
+                'is_fast_stored' => $fast,
             ];
         }
         return $params;
@@ -189,14 +195,10 @@ class StoreService
     {
         if (count($params) === 0) return;
         foreach (array_chunk($params, 1000) as $item) {
-            try {
-                $bool = $this->insert($item);
-                if ($bool) {
-                    app('LogService')->log(__METHOD__, __FUNCTION__, "批量创建 store success " . count($item) . ' || ' . json_encode($item));
-                } else app('LogService')->log(__METHOD__, __FUNCTION__, "批量添加 store FAILED " . ' || ' . json_encode($item));
-            } catch (\Exception $e) {
-                app('LogService')->log(__METHOD__, __FUNCTION__, "批量添加 store ERROR " . ' || ' . json_encode($params) . ' || ' . json_encode($e->getMessage()) . ' || ' . json_encode($e->getTraceAsString()));
-            }
+            $bool = $this->insert($item);
+            if ($bool) {
+                app('LogService')->log(__METHOD__, __FUNCTION__, "批量创建 store success " . count($item) . ' || ' . json_encode($item));
+            } else app('LogService')->log(__METHOD__, __FUNCTION__, "批量添加 store FAILED " . ' || ' . json_encode($item));
         }
     }
 
@@ -211,7 +213,7 @@ class StoreService
         $dataHandlerService = app(DataHandlerService::class);
         $stores = $this->getByWms($asnHerders);
         $store_asn_code_map = $dataHandlerService->dataHeader(['asn_code'], $stores);
-        $owners = $ownerService->getOwnerByCodes(array_unique(data_get($asnHerders,'*.customerid')));
+        $owners = $ownerService->getOwnerByCodes(array_unique(data_get($asnHerders, '*.customerid')));
         $warehouses = Warehouse::query()->get();
         $owner_code_map = $dataHandlerService->dataHeader(['code'], $owners);
         $warehouses_map = $dataHandlerService->dataHeader(['code'], $warehouses);
@@ -226,13 +228,15 @@ class StoreService
             $owner_id = $owner->id ?? null;
             $warehouse_id = $warehouse->id ?? null;
             $status = null;
+            $fast = '无';
             if ($asnHerder->asnStatus && $asnHerder->asnStatus->codename_c == '完全收货') $status = '已入库';
             if ($asnHerder->asnStatus && $asnHerder->asnStatus->codename_c == '订单创建') $status = '未入库';
+            if ($asnHerder->asnType && $asnHerder->asnType->codename_c == '调拨入库') $fast = '快速入库';
             if ($store->asn_code != $asnHerder->asnno ||
                 $store->warehouse_id != $warehouse_id ||
                 $store->owner_id != $owner_id ||
-                $store->stored_method != ($asnHerder->asnType->codename_c ??'')||
-                $store->status != ($asnHerder->asnStatus->codename_c ?? '')||
+                $store->stored_method != ($asnHerder->asnType->codename_c ?? '') ||
+                $store->status != ($asnHerder->asnStatus->codename_c ?? '') ||
                 $store->remark != $asnHerder->notes ||
                 $store->updated_at != $asnHerder->edittime) {
                 $updateParams[] = [
@@ -244,10 +248,13 @@ class StoreService
                     'status' => $status ? $status : $asnHerder->asnStatus->codename_c,
                     'remark' => $asnHerder->notes,
                     'updated_at' => $asnHerder->edittime,
+                    'is_fast_stored' => $fast,
                 ];
             }
         }
-        if (count($updateParams) > 1) {$this->batchUpdate($updateParams);}
+        if (count($updateParams) > 1) {
+            $this->batchUpdate($updateParams);
+        }
         /** @var StoreItemService $storeItemService */
         $storeItemService = app(StoreItemService::class);
         $storeItemService->storeItemUpdateByWms($asnHerders);
@@ -258,8 +265,9 @@ class StoreService
         unset($updateParams, $asnHerders);
     }
 
-    public function pushJob($asnHerders){
-        dispatch(new StoreCreateInstantBill(Store::query()->with(["storeItems"])->where('status','已入库')->whereIn('asn_code', data_get($asnHerders,'*.asnno'))->get()));
+    public function pushJob($asnHerders)
+    {
+        dispatch(new StoreCreateInstantBill(Store::query()->with(["storeItems"])->where('status', '已入库')->whereIn('asn_code', data_get($asnHerders, '*.asnno'))->get()));
     }
 
     public function insert($params)
@@ -333,19 +341,19 @@ class StoreService
     {
         /** @var \stdClass $store */
         if (!$store || $store->status != "已入库") return false;
-        if (Cache::has("owner_fee_details:stores_".$store->id))return true;
-        $store->loadMissing(["storeItems.commodity","warehouse"]);
+        if (Cache::has("owner_fee_details:stores_" . $store->id)) return true;
+        $store->loadMissing(["storeItems.commodity", "warehouse"]);
         /** @var OwnerPriceOperationService $service */
         $service = app("OwnerPriceOperationService");
 
         $workedAt = $store->updated_at;
-        $month = substr($workedAt,0,7);
+        $month = substr($workedAt, 0, 7);
 
         $GLOBALS["FEE_INFO"] = [];
-        list($id,$money,$taxFee) = $service->matching($month, $store, Feature::MAPPING["store"], $store->owner_id, "入库");
+        list($id, $money, $taxFee) = $service->matching($month, $store, Feature::MAPPING["store"], $store->owner_id, "入库");
 
         $amount = 0;
-        if ($store->storeItems)foreach ($store->storeItems as $item)$amount += $item->amount;
+        if ($store->storeItems) foreach ($store->storeItems as $item) $amount += $item->amount;
         if (!app("OwnerFeeDetailService")->create([
             "owner_id" => $store->owner_id,
             "worked_at" => $workedAt,
@@ -359,19 +367,19 @@ class StoreService
             "outer_table_name" => "stores",
             "work_tax_fee" => $taxFee,
         ])) return false;
-        $this->setStoreAmount($store->owner_id,$amount,$month);
-        if ($money>0)$this->constructFeeInfo([
+        $this->setStoreAmount($store->owner_id, $amount, $month);
+        if ($money > 0) $this->constructFeeInfo([
             "worked_at" => $workedAt,
             "owner_id" => $store->owner_id,
-            "model_id"  => $id,
-            "source_number"=> null,
-            "doc_number"   => $store->asn_code,
+            "model_id" => $id,
+            "source_number" => null,
+            "doc_number" => $store->asn_code,
             "commodity_id" => 0,
-            "total_fee"    =>0,
-            "tax_rate"     =>0,
-            "fee_description"=>'',
+            "total_fee" => 0,
+            "tax_rate" => 0,
+            "fee_description" => '',
         ]);
-        Cache::put("owner_fee_details:stores_".$store->id,1,86400);
+        Cache::put("owner_fee_details:stores_" . $store->id, 1, 86400);
         return true;
     }
 
@@ -384,14 +392,15 @@ class StoreService
      */
     public function constructFeeInfo(array $defaultInfo)
     {
-        foreach ($GLOBALS["FEE_INFO"] as $info){
+        foreach ($GLOBALS["FEE_INFO"] as $info) {
             $operation = $defaultInfo;
-            foreach ($operation as $key=>$val)if (isset($info[$key]))$operation[$key] = $info[$key];
+            foreach ($operation as $key => $val) if (isset($info[$key])) $operation[$key] = $info[$key];
             $model = OwnerFeeOperation::query()->create($operation);
-            if($info['details'])foreach ($info['details'] as &$detail)$detail["owner_fee_operation_id"] = $model->id;
+            if ($info['details']) foreach ($info['details'] as &$detail) $detail["owner_fee_operation_id"] = $model->id;
             OwnerFeeOperationDetail::query()->insert($info['details']);
         }
     }
+
     /**
      * 清除费用信息
      *
@@ -400,12 +409,12 @@ class StoreService
     public function clearFeeInfo(string $docNumber)
     {
         try {
-            $models = OwnerFeeOperation::query()->where("doc_number",$docNumber)->get();
-            if ($models->count()==0)return;
-            OwnerFeeOperationDetail::query()->whereIn("owner_fee_operation_id",array_column($models->toArray(),"id"))->delete();
-            OwnerFeeOperation::query()->where("doc_number",$docNumber)->delete();
-        }catch (\Exception $e){
-            Log::warning("清除费用信息发送错误",["ASN号:{$docNumber}",isset($models) ? $models->toJson() : "查费用信息时被锁定",$e->getMessage()]);
+            $models = OwnerFeeOperation::query()->where("doc_number", $docNumber)->get();
+            if ($models->count() == 0) return;
+            OwnerFeeOperationDetail::query()->whereIn("owner_fee_operation_id", array_column($models->toArray(), "id"))->delete();
+            OwnerFeeOperation::query()->where("doc_number", $docNumber)->delete();
+        } catch (\Exception $e) {
+            Log::warning("清除费用信息发送错误", ["ASN号:{$docNumber}", isset($models) ? $models->toJson() : "查费用信息时被锁定", $e->getMessage()]);
         }
     }
 
@@ -413,34 +422,35 @@ class StoreService
      * @param $asnHerders
      * @return null
      */
-    public function createStoreRejected($asnHerders){
+    public function createStoreRejected($asnHerders)
+    {
         if (!$asnHerders) return null;
         $stores = $this->getByWms($asnHerders);
         $orders = Order::query()->whereIn('client_code', data_get($asnHerders, '*.asnreference2'))->get();
-        $store_rejecteds=StoreRejected::query()->whereIn('order_id',data_get($orders,'*.id'))->whereIn('store_id',data_get($stores,'*.id'))->get();
+        $store_rejecteds = StoreRejected::query()->whereIn('order_id', data_get($orders, '*.id'))->whereIn('store_id', data_get($stores, '*.id'))->get();
         /** @var DataHandlerService $dataHandlerService */
         $dataHandlerService = app(DataHandlerService::class);
         $order_map = $dataHandlerService->dataHeader(['client_code'], $orders);
         $store_map = $dataHandlerService->dataHeader(['asn_code'], $stores);
-        $store_rejected_map=$dataHandlerService->dataHeader(['store_id','order_id','logistic_number_return'],$store_rejecteds);
-        $insert_param=[];
-        foreach ($asnHerders as $asnHerder){
+        $store_rejected_map = $dataHandlerService->dataHeader(['store_id', 'order_id', 'logistic_number_return'], $store_rejecteds);
+        $insert_param = [];
+        foreach ($asnHerders as $asnHerder) {
             if (!$asnHerder->asnreference2) continue;
-            $order=$dataHandlerService->getKeyValue(['client_code'=>$asnHerder->asnreference2],$order_map);
-            $store=$dataHandlerService->getKeyValue(['asn_code'=>$asnHerder->asnno],$store_map);
-            if (!$order || !$store)continue;
-            $store_rejected=$dataHandlerService->getKeyValue(['store_id'=>$store->id,'order_id'=>$order->id,'logistic_number_return'=>$asnHerder->asnreference3],$store_rejected_map);
+            $order = $dataHandlerService->getKeyValue(['client_code' => $asnHerder->asnreference2], $order_map);
+            $store = $dataHandlerService->getKeyValue(['asn_code' => $asnHerder->asnno], $store_map);
+            if (!$order || !$store) continue;
+            $store_rejected = $dataHandlerService->getKeyValue(['store_id' => $store->id, 'order_id' => $order->id, 'logistic_number_return' => $asnHerder->asnreference3], $store_rejected_map);
             if ($store_rejected) continue;
-            $insert_param[]=[
-                'store_id'=>$store->id,
-                'order_id'=>$order->id,
-                'logistic_number_return'=>$asnHerder->asnreference3 ?? '',
-                'created_at'=>Carbon::now()->toDateTimeString(),
+            $insert_param[] = [
+                'store_id' => $store->id,
+                'order_id' => $order->id,
+                'logistic_number_return' => $asnHerder->asnreference3 ?? '',
+                'created_at' => Carbon::now()->toDateTimeString(),
             ];
         }
-        if (count($insert_param)>0) StoreRejected::query()->insert($insert_param);
+        if (count($insert_param) > 0) StoreRejected::query()->insert($insert_param);
         app('LogService')
-            ->log(__METHOD__, __FUNCTION__, '11 createStoreRejected:'.json_encode($insert_param));
+            ->log(__METHOD__, __FUNCTION__, '11 createStoreRejected:' . json_encode($insert_param));
     }
 
     /**
@@ -455,8 +465,8 @@ class StoreService
 SELECT sum(amount) total FROM `store_items` LEFT JOIN stores ON store_items.store_id=stores.id WHERE stores.owner_id = ? AND (stores.status='已入库' OR stores.status='ASN关闭') AND store_items.updated_at LIKE ?
 sql
         );
-        $statistics = DB::selectOne($query,[$owner,date("Y-m")."%"]);
-        Cache::put($month."|A|".$owner,$statistics->total ?: 0,2764800);
+        $statistics = DB::selectOne($query, [$owner, date("Y-m") . "%"]);
+        Cache::put($month . "|A|" . $owner, $statistics->total ?: 0, 2764800);
     }
 
     /**
@@ -469,8 +479,8 @@ sql
     public function setStoreAmount(int $owner, int $amount, string $month)
     {
         $date = date("Y-m");
-        if (!Cache::has($date."|A|".$owner))$this->storeAmountCompensationLogic($owner,$month);//补偿逻辑
-        Cache::increment($date."|A|".$owner,$amount);
+        if (!Cache::has($date . "|A|" . $owner)) $this->storeAmountCompensationLogic($owner, $month);//补偿逻辑
+        Cache::increment($date . "|A|" . $owner, $amount);
     }
 
     /**
@@ -481,9 +491,9 @@ sql
      *
      * @return int
      */
-    public function getStoreAmount(int $owner, string $date):int
+    public function getStoreAmount(int $owner, string $date): int
     {
-        if (!Cache::has($date."|A|".$owner))$this->storeAmountCompensationLogic($owner,$date);
-        return Cache::get($date."|A|".$owner);
+        if (!Cache::has($date . "|A|" . $owner)) $this->storeAmountCompensationLogic($owner, $date);
+        return Cache::get($date . "|A|" . $owner);
     }
 }

+ 1 - 0
app/Services/WorkOrderInterceptService.php

@@ -232,6 +232,7 @@ class WorkOrderInterceptService extends WorkOrderService
         ]);
         $this->endOrderIssueAndSyncProcessLogs($detail);
         $this->logService->createLog($detail, '终审', '自动终审-' . $process_progress);
+        $this->sendSWNSMessage($workOrder);
     }
 
     /**

+ 2 - 2
app/Services/WorkOrderProcessLogService.php

@@ -50,7 +50,7 @@ class WorkOrderProcessLogService
             $detail->workOrder()->whereIn('status', [2, 6])->update(['owner_tag' => 1]);
         }
         $process_log->setAttribute('user', $user);
-        SyncOrderIssueOrWorkOrderBySWMS::dispatch($work_order,SyncOrderIssueOrWorkOrderBySWMS::$ORDER_ISSUE_TYPE);
+        SyncOrderIssueOrWorkOrderBySWMS::dispatch($work_order,SyncOrderIssueOrWorkOrderBySWMS::$WORK_ORDER_TYPE);
         return $process_log;
     }
 
@@ -70,7 +70,7 @@ class WorkOrderProcessLogService
             $detail = $workOrder->details()->where('order_issue_type_id',$workOrder->order_issue_type_id)->orderByDesc('created_at')->first();
             if (!$detail) continue;
             $process_logs[] = $this->createProcessLog($detail, $params, $user);
-            SyncOrderIssueOrWorkOrderBySWMS::dispatch($workOrder,SyncOrderIssueOrWorkOrderBySWMS::$ORDER_ISSUE_TYPE);
+            SyncOrderIssueOrWorkOrderBySWMS::dispatch($workOrder,SyncOrderIssueOrWorkOrderBySWMS::$WORK_ORDER_TYPE);
         }
         return $process_logs;
     }