LD 5 лет назад
Родитель
Сommit
fd878d7bb4

+ 1 - 1
app/Http/Controllers/LogController.php

@@ -65,7 +65,7 @@ class LogController extends Controller
         if ($request->has('created_at_end')) {
         if ($request->has('created_at_end')) {
             $query->where('created_at', '<=', $request->created_at_end);
             $query->where('created_at', '<=', $request->created_at_end);
         }
         }
-        $query->orderByDesc('created_at');
+        $query->orderByDesc('id');
         $logs = $query->paginate($request->paginate??50);
         $logs = $query->paginate($request->paginate??50);
         return view('maintenance.log.index', ['logs' => $logs]);
         return view('maintenance.log.index', ['logs' => $logs]);
     }
     }

+ 1 - 1
app/Http/Controllers/OrderController.php

@@ -20,7 +20,7 @@ use Illuminate\Support\Facades\Http;
 class OrderController extends Controller
 class OrderController extends Controller
 {
 {
     public function delivering(Request $request){
     public function delivering(Request $request){
-        if(!Gate::allows('订单管理-查询')){ return redirect('denied');  }
+        if(!Gate::allows('订单管理-查询')){ return view('order/index');  }
         /** @var OrderService $orderService */
         /** @var OrderService $orderService */
         $orderService = app('orderService');
         $orderService = app('orderService');
         $request = $request->input();
         $request = $request->input();

+ 1 - 1
app/Http/Controllers/StoreController.php

@@ -146,7 +146,7 @@ class StoreController extends Controller
             'depository_code'=>$depository_code,
             'depository_code'=>$depository_code,
             'follow_code'=>$store['id'],
             'follow_code'=>$store['id'],
         ]);
         ]);
-        if ($result["success"]){
+        if ($result){
             $store->status='已入库';
             $store->status='已入库';
             $store->save();
             $store->save();
             if ($store->storeItems){
             if ($store->storeItems){

+ 107 - 141
app/Http/Controllers/api/thirdPart/flux/StoreController.php

@@ -1,163 +1,129 @@
 <?php
 <?php
 
 
-namespace App\Http\Controllers;
+namespace App\Http\Controllers\Api\thirdPart\flux;
 
 
-use App\Depository;
-use App\Owner;
-use App\Services\LogService;
+use App\Http\Controllers\Controller;
 use App\Store;
 use App\Store;
-use App\StoreItems;
-use App\Warehouse;
 use App\WMSReflectReceive;
 use App\WMSReflectReceive;
-use Carbon\Carbon;
-use Illuminate\Contracts\Foundation\Application;
-use Illuminate\Contracts\View\Factory;
-use Illuminate\Http\RedirectResponse;
-use Illuminate\Http\Request;
-use Illuminate\Http\Response;
-use Illuminate\Routing\Redirector;
-use Illuminate\Support\Facades\DB;
-use Illuminate\Support\Facades\Gate;
-use Illuminate\Support\Facades\Validator;
-use Illuminate\View\View;
-use App\Http\Controllers\Api\thirdPart\flux\StoreController as FStoreController;
+use App\WMSReflectReceiveSku;
+use Zttp\Zttp;
 
 
 class StoreController extends Controller
 class StoreController extends Controller
 {
 {
-    /**
-     * Display a listing of the resource.
-     *
-     * @return Application|Factory|Response|View
-     */
-    public function index()
-    {
-        if(!Gate::allows('入库管理-快速入库-查询')){ return redirect(url('/'));  }
-        $stores=Store::orderBy('id','DESC')->paginate(50);
-        return view('store.fast.index',['stores'=>$stores]);
-    }
 
 
-    /**
-     * Show the form for creating a new resource.
-     *
-     * @return Application|Factory|Response|View
-     */
-    public function create()
-    {
-        if(!Gate::allows('入库管理-快速入库-录入')){ return redirect(url('/'));  }
-        return view('store.fast.create');
-    }
 
 
     /**
     /**
-     * Store a newly created resource in storage.
-     *
-     * @param Request $request
-     * @return RedirectResponse|Response|Redirector
+     * 入库回传给WMS
+     * @param Store $store
+     * @return bool
      */
      */
-    public function store(Request $request)
+    public function accomplishToWMS(Store $store, array $inputs)
     {
     {
-        if(!Gate::allows('入库管理-快速入库-录入')){ return redirect(url('/'));  }
-        $this->validator($request);
-        if ($request->test)$result = $this->quickStorage($request->input('asn_code'),$request->input('quality') == '正品' ? 'ZP' : 'CC',$request->input('depository_code'));
-        else $result = $this->quickStorage_temp($request->input('asn_code'),$request->input('quality'),$request->input('depository_code'));
-        $response = redirect('store/fast/create');
-        if ($result['success'])return redirect('store/fast/create')->with('successTip',$result['data']);
-        return $response->with('successError',$result['data']);
-    }
-
-    public function quickStorage_temp($asn,$quality,$depository_code){
-        $WMSReflectReceive=WMSReflectReceive::with('skus')->where('ASNNO',$asn)->first();
-        if (!$WMSReflectReceive)return ['success'=>false, 'data'=>"ASN编号不存在!"];
-        $warehouse=Warehouse::query()->where('code',$WMSReflectReceive->WAREHOUSEID)->first();
-        if (!$warehouse&&$WMSReflectReceive->WAREHOUSEID){
-            $warehouse=new Warehouse([
-                'name'=>$WMSReflectReceive->WAREHOUSEID,
-                'code'=>$WMSReflectReceive->WAREHOUSEID
-            ]);
-            $warehouse->save();
+        $METHOD = __METHOD__;
+        $FUNCTION = __FUNCTION__;
+        Controller::logS(__METHOD__, __FUNCTION__, '快递入库进入WMS接口:' . $store['asn_code']);
+        $wmsReceiveds = WMSReflectReceive::query()->where('ASNNO', $store['asn_code'])->get();
+        if ($wmsReceiveds->isEmpty()) {
+            (new Controller())->log(__METHOD__, 'error_' . __FUNCTION__, '没有本地WMS入库单');
+            return false;
         }
         }
-        $owner=Owner::query()->where('code',$WMSReflectReceive->CUSTOMERID)->first();
-        if (!$owner&&$WMSReflectReceive->CUSTOMERID){
-            $owner=new Owner([
-                'name'=>$WMSReflectReceive->CUSTOMERID,
-                'code'=>$WMSReflectReceive->CUSTOMERID
-            ]);
-            $owner->save();
-        }
-        $store=Store::query()->where('asn_code',$WMSReflectReceive->ASNNO)->first();
-        if(!$store){
-            $store=new Store([
-                'asn_code'=>$WMSReflectReceive->ASNNO,
-                'warehouse_id'=>$warehouse->id,
-                'owner_id'=>$owner->id,
-                'stored_method'=>'快速入库',
-                'status'=>'未入库',
-                'remark'=>$WMSReflectReceive->NOTES,
-            ]);
-            $store->save();
+        $success = true;
+        $wmsReceiveds->each(function ($wmsReceived) use (&$store, &$amountsItem, &$success, &$inputs, $METHOD, $FUNCTION) {
 
 
-            $customDepository=(function()use($depository_code){
-                $customDepository=Depository::query()->where('code',$depository_code)->first();
-                if($depository_code){
-                    if (!$customDepository){
-                        $depository=new Depository([
-                            'name'=>$depository_code,
-                            'code'=>$depository_code
-                        ]);
-                        $depository->save();
-                    }
-                }
-                return $customDepository;
+            $wmsSkus = $wmsReceived->skus()->get();
+            $orderNumberCode = $wmsReceived['ASNREFERENCE1'] ?? $store['order_number'];
+            $amountsSku = (function () use ($wmsSkus) {
+                $result = [];
+                $wmsSkus->each(function ($sku) use (&$result) {
+                    $result[$sku['id']] = $sku['EXPECTEDQTY_EACH'];
+                });
+                return $result;
             })();
             })();
-
-            if ($WMSReflectReceive->skus){
-                foreach ($WMSReflectReceive->skus as $sku){
-                    $depository=(function()use($sku,$customDepository){
-                        if($customDepository)return $customDepository;
-                        $depository=Depository::query()->where('code',$sku->LOTATT05)->first();
-                        if (!$depository){
-                            if (!$sku->LOTATT05)return $depository;
-                            $depository=new Depository([
-                                'name'=>$sku->LOTATT05,
-                                'code'=>$sku->LOTATT05
-                            ]);
-                            $depository->save();
+            $skuStrList = [];
+            $customerCode = $store->owner()->first()['code'];
+            $wmsSkus->each(function (WMSReflectReceiveSku $sku) use (&$skuList, &$amountsItem, &$amountsSku, &$skuStrList, $wmsReceived, $customerCode, &$inputs) {
+                $STATUS = 'ZP';
+                if (isset($inputs['quality']) && $inputs['quality']
+                    && $inputs['quality'] != '正品') {
+                    $STATUS = 'CC';
+                }
+                $repositoryCode = $sku['LOTATT05'];
+                if (isset($inputs['depository_code']) && $inputs['depository_code']) {
+                    $repositoryCode = $inputs['depository_code'];
+                }
+                $skuStr = "
+                        {
+                            \"ORDERNUMBERCODE\": \"{$wmsReceived['ASNNO']}\",
+                            \"ASNLINENO\": \"{$sku['ASNLINENO']}\",
+                            \"SKUCODE\": \"{$sku['SKU']}\",
+                            \"QUANTITY\": \"{$sku['EXPECTEDQTY_EACH']}\",
+                            \"LOTATT04\": \"{$sku['LOTATT04']}\",
+                            \"LOTATT05\": \"{$repositoryCode}\",
+                            \"STATUS\": \"{$STATUS}\",
+                            \"USERDEFINE1\": \"{$inputs['follow_code']}\",
+                            \"USERDEFINE2\": \"\",
+                            \"USERDEFINE3\": \"\",
+                            \"UNIQUE_CODE_LIST\": [" .
+                    "]
                         }
                         }
-                        return $depository;
-                    })();
-                    $storeItem=new StoreItems([
-                        'store_id'=>$store->id,
-                        'asn_line_code'=>$sku->ASNLINENO,
-                        'name'=>$sku->SKUDESCRC,
-                        'sku'=>$sku->SKU,
-                        'barcode'=>$sku->ALTERNATE_SKU1,
-                        'quality'=>$quality,
-                        'status'=>'未入库',
-                    ]);
-                    if ($depository)$storeItem->depository_id=$depository->id;
-                    $storeItem->save();
+                    ";
+                $skuStrList[] = $skuStr;
+            });
+            $skuStrList = implode(',', $skuStrList);
+            $json = "
+                {
+                    \"request\": [
+                        {
+                            \"ORDERNUMBERCODE\": \"{$wmsReceived['ASNNO']}\",
+                            \"CUSTOMERID\": \"{$wmsReceived['CUSTOMERID']}\",
+                            \"ASNTYPE\": \"{$wmsReceived['ASNTYPE']}\",
+                            \"ASNREFERENCE1\": \"{$wmsReceived['ASNREFERENCE1']}\",
+                            \"ADDWHO\": \"WCS\",
+                            \"USERDEFINE1\": \"\",
+                            \"USERDEFINE2\": \"\",
+                            \"USERDEFINE3\": \"\",
+                            \"SKU_LIST\": [{$skuStrList}]
+                        }
+                    ]
                 }
                 }
+        ";
+
+            $sendingJson = json_decode($json, true);
+            $url = url(config('api.flux.receive.new'));
+//            (new Controller())->log($METHOD,$FUNCTION,$store['asn_code'].'||' .json_encode($sendingJson));
+            Controller::logS(__METHOD__, __FUNCTION__, '快递入库请求WMS接口开始:' . $store['asn_code']);
+            $response = Zttp::post($url, $sendingJson);
+            Controller::logS(__METHOD__, __FUNCTION__, '快递入库请求WMS接口结束:' . $store['asn_code'] . '||' . $response->body());
+            $noIssues = true;
+            $json = $response->json();
+            if (!$json || !isset($json['Response']) || !$json['Response']['return']['returnFlag'] == '1') {
+                $noIssues = false;
             }
             }
-        }
-        /** @var Store $store */
-        $store=Store::with('storeItems')->where('asn_code',$asn)->first();
-        $storeApi=new FStoreController();
-        $result=$storeApi->accomplishToWMS($store,[
-            'quality'=>$quality,
-            'depository_code'=>$depository_code,
-            'follow_code'=>$store['id'],
-        ]);
-        if ($result){
-            $store->status='已入库';
-            $store->save();
-            if ($store->storeItems){
-                $store->storeItems->each(function ($storeItem)use($quality){
-                    $storeItem->status='已入库';
-                    $storeItem->quality=$quality;
-                    $storeItem->save();
-                });
+            if ($json && isset($json['Response'])) {
+                if ($json['Response']['return']['returnFlag'] == '2') {
+                    (new Controller())->log($METHOD, 'error_' . $FUNCTION, $store['asn_code'] . '||' . $response->body());
+                    return true;
+                }
+//                if(isset($json['Response']['return']['returnDesc'])&&strpos($json['Response']['return']['returnDesc'],'唯一约束')!==false){
+//                    (new Controller())->log($METHOD,'error_'.$FUNCTION,$response->body());
+//                    return true;
+//                }
+                if (isset($json['Response']['return']['errordescr']) && strpos($json['Response']['return']['errordescr'], '已完成') !== false) {
+                    (new Controller())->log($METHOD, 'error_' . $FUNCTION, $store['asn_code'] . '||' . $response->body());
+                    return true;
+                }
             }
             }
-            return ['success'=>true, 'data'=>"成功!"];
-        }
-        return ['success'=>false, 'data'=>"失败!请检查错误日志"];
+            if ($noIssues && $json['Response']['return']['returnFlag'] == '1') {
+                $wmsReceived['is_uploaded'] = 1;
+                $wmsReceived->save();
+                (new Controller())->log($METHOD, 'success_' . $FUNCTION, $store['asn_code'] . '||' . $response->body());
+                return true;
+            } else {
+                $success = false;
+                (new Controller())->log($METHOD, 'error_' . $FUNCTION, $store['asn_code'] . '||' . $response->body());
+            }
+        });
+
+        return $success;
     }
     }
 }
 }

Разница между файлами не показана из-за своего большого размера
+ 0 - 329
public/css/app.css


Разница между файлами не показана из-за своего большого размера
+ 0 - 86492
public/js/app.js


Некоторые файлы не были показаны из-за большого количества измененных файлов