Forráskód Böngészése

Merge branch 'master' of ssh://47.103.131.176:10022/var/git/bswas

zhouzhendong 4 éve
szülő
commit
d4f23e29da

+ 4 - 3
app/Http/Controllers/HandInStorageController.php

@@ -152,8 +152,9 @@ class HandInStorageController extends Controller
     {
         $owners=Owner::query()
             ->select('code')
-            ->where('warehouse_id',3)//3 代表九干仓仓库id
+            ->whereIn('warehouse_id',[2,3])//3 代表九干仓仓库id  2代表泗砖仓id
             ->whereNull('deleted_at')
+            ->where('id','<>',400) //排除GM货主
             ->get();
         foreach ($owners as $owner){
             if ($owner->code==$ownerCode){
@@ -217,8 +218,8 @@ class HandInStorageController extends Controller
         $checkData=$request->input('checkData')[0];
 
         //九干仓禁止使用当前app上架
-//        $res=$this->screenWarehouseAndContrast($checkData['customerid']);
-//        if ($res)$this->error('禁止使用当前app上架,请换用新版app上架!');
+        $res=$this->screenWarehouseAndContrast($checkData['customerid']);
+        if ($res)$this->error('禁止使用当前app上架,请换用新版app上架!');
 
         /** @var HandInStorageService $handInStorageService  */
         $handInStorageService=app('HandInStorageService');

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

@@ -12,7 +12,7 @@ class RejectedPushTaskController extends Controller
     {
         $ownerIds = app('OwnerService')->getIdArr();
         $owners = Owner::query()->whereIn('id', $ownerIds)->get();
-        $ownerIds = $owners->pluck('id');
+        $ownerIds=collect($ownerIds);
         return view('rejected.rejectedPushTask.index', compact('owners', 'ownerIds'));
     }
 }

+ 13 - 8
app/Jobs/RejectedPushJob.php

@@ -3,6 +3,7 @@
 namespace App\Jobs;
 
 use App\OracleDOCASNDetail;
+use App\OracleDOCASNHeader;
 use Illuminate\Bus\Queueable;
 use Illuminate\Contracts\Queue\ShouldQueue;
 use Illuminate\Foundation\Bus\Dispatchable;
@@ -26,15 +27,15 @@ class RejectedPushJob implements ShouldQueue
      * ['sku' => '75603675975072','taskNum' => 'JI20220316211', 'asnNo' => 'asn002', 'type' => '推单'],
      * ]
      */
-    private $asnHerders;
+    private $asnNos;
 
     /**
      * RejectedPushJob constructor.
-     * @param $asnHerders
+     * @param array $asnNos
      */
-    public function __construct($asnHerders)
+    public function __construct(array $asnNos)
     {
-        $this->asnHerders = $asnHerders;
+        $this->asnNos = $asnNos;
     }
 
 
@@ -47,15 +48,18 @@ class RejectedPushJob implements ShouldQueue
     {
         $result = array();
         $array = array();
-        if (count($this->asnHerders) > 0) {
-            foreach ($this->asnHerders as $asnHerder) {
+        if (count($this->asnNos) > 0) {
+            $asnHerders=OracleDOCASNHeader::query()->whereIn('asnno',$this->asnNos)
+                ->select('asnno','notes','asntype','asnstatus')
+                ->get();
+            foreach ($asnHerders as $asnHerder) {
                 if ($asnHerder->asntype == 'THRK' && $asnHerder->notes) {
                     preg_match('/^[A-Z]{2}[0-9]{8}\d{0,8}/', $asnHerder->notes, $result);
                     if (count($result) < 1) continue;
                     $details = OracleDOCASNDetail::query()->select('sku', 'linestatus')->where('asnno', $asnHerder->asnno)->get();
                     if (count($details) < 1) continue;
                     foreach ($details as $detail) {
-                        $array[][] = [
+                        $array[] = [
                             'sku' => $detail->sku,
                             'taskNum' => $result[0],
                             'asnNo' => $asnHerder->asnno,
@@ -69,7 +73,8 @@ class RejectedPushJob implements ShouldQueue
         if (count($array) > 0) {
             $response = Http::post($url, $array);
             Log::info("推送信息!", ['res' => $response->body(), 'req' => $array]);
+        }else{
+            Log::info("推送信息失败!", ['res' => $this->asnNos,'array'=>$array]);
         }
-
     }
 }

+ 1 - 0
app/Services/OrderRejectedBillRelationService.php

@@ -79,6 +79,7 @@ class OrderRejectedBillRelationService
             return ['order_id' => $order->id,'logistic_number_return' => $item,'order_issue_id' => $order_issue->id ?? ''];
         },$logistic_number_returns));
 
+        OrderIssueRejectedBill::query()->where("order_id",$order->id)->update(['order_issue_id'=>$order_issue->id]);
         $this->service->syncRejectingStatus($order);
     }
 

+ 12 - 4
app/Services/StoreService.php

@@ -67,12 +67,16 @@ class StoreService
         $oracleDocAsnHerderService = app(OracleDocAsnHerderService::class);
         $last_time = $this->getAsnLastSyncAt($created_at, 'create');
         $asnHerders = $oracleDocAsnHerderService->getWmsAsnOnStartDateCreate($last_time);
+        if (count($asnHerders)<1) return;
         try {
-            RejectedPushJob::dispatch($asnHerders);
+            $arr=[];
+            foreach ($asnHerders as $asnHerder){
+                array_push($arr,$asnHerder->asnno);
+            }
+            RejectedPushJob::dispatch($arr);
         } catch (\Exception $e) {
             Log::error("退货推送asn集合失败",[$e->getMessage()]);
         }
-        if (count($asnHerders)<1) return;
         $last_time = $asnHerders->first()['addtime'];
         $last_records = $asnHerders->where('addtime', $last_time);
         $this->createStore($asnHerders);
@@ -95,12 +99,16 @@ class StoreService
         app('LogService')
             ->log(__METHOD__, __FUNCTION__, '11 获取上次更新时间:' . $last_time );
         $asnHerders = $oracleDocAsnHerderService->getWmsAsnOnStartDateEdit($last_time);
+        if (count($asnHerders)<1) return;
         try {
-            RejectedPushJob::dispatch($asnHerders);
+            $arr=[];
+            foreach ($asnHerders as $asnHerder){
+                array_push($arr,$asnHerder->asnno);
+            }
+            RejectedPushJob::dispatch($arr);
         } catch (\Exception $e) {
             Log::error("退货推送asn集合失败",[$e->getMessage()]);
         }
-        if (count($asnHerders)<1) return;
         $last_time = $asnHerders->first()['edittime'];
         $last_records = $asnHerders->where('edittime', $last_time);
         $this->createStore($asnHerders,"update");

+ 1 - 0
database/migrations/2021_12_22_163154_create_receiving_task_items_table.php

@@ -17,6 +17,7 @@ class CreateReceivingTaskItemsTable extends Migration
             $table->id();
             $table->integer('receiving_task_id')->index()->comment('收货任务');
             $table->String('asn_no')->comment('asn单号');
+            $table->enum('status',['创建','进行中','完成','超时完成'])->comment('状态');
             $table->timestamps();
         });
     }

+ 28 - 0
resources/views/rejected/rejectedPushTask/_assignOwner.blade.php

@@ -0,0 +1,28 @@
+<div class="modal fade" id="assignOwner" tabindex="-1">
+    <div class="modal-dialog modal-lg">
+        <div class="modal-content">
+            <div class="modal-header">
+                <h5 class="modal-title text-center">选定指定货主开启攒单</h5>
+                <button type="button" class="close" data-dismiss="modal">
+                    <span>&times;</span>
+                </button>
+            </div>
+            <div class="form-group row">
+                <label for="owner_id" class="col-2 col-form-label text-right font-weight-bolder m-3">选定货主</label>
+                <div class="col-8 form-check-inline" style="min-width: 200px !important;">
+                    <select v-model="assign.ownerId" class="selectpicker form-control" title="选择货主"
+                            data-actions-box="true"
+                            data-live-search="true"
+                            data-live-search-placeholder="搜索"
+                    >
+                        <option v-for="(v,k) of selectData.owners" :value="v.id" :key="v.id">@{{ v.name }}</option>
+                    </select>
+                </div>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-secondary" data-dismiss="modal">关闭</button>
+                <button type="button" class="btn btn-primary" @click="submitAssignOwner()">提交</button>
+            </div>
+        </div>
+    </div>
+</div>

+ 54 - 13
resources/views/rejected/rejectedPushTask/index.blade.php

@@ -19,9 +19,13 @@
                 </select>
             </div>
 
-            <div class="form-group m-2">
-                <select class="form-control selectpicker" title="货主" v-model="tableData.secondData.search.ownerId">
-                    <option v-for="item of selectData.owners" :value="item.id">@{{ item.name }}</option>
+            <div class="form-group m-2" style="max-width: 200px !important;">
+                <select v-model="tableData.secondData.search.ownerId" class="selectpicker form-control" title="选择货主"
+                        data-actions-box="true"
+                        data-live-search="true"
+                        data-live-search-placeholder="搜索"
+                >
+                    <option v-for="(v,k) of selectData.owners" :value="v.id" :key="v.id">@{{ v.name }}</option>
                 </select>
             </div>
 
@@ -51,6 +55,12 @@
             <div class="form-group m-2">
                 <button class="form-control btn btn-sm btn-info" @click="searchData()">查询</button>
             </div>
+
+        </div>
+        <div class="form-group m-3">
+            <button class="btn btn-success btn-sm" @click="assignOwner()">
+                货主开启攒单
+            </button>
         </div>
         <!--表格-->
         <!--创建-->
@@ -291,6 +301,7 @@
                 </div>
             </div>
         </div>
+        @include('rejected.rejectedPushTask._assignOwner')
     </div>
 
 
@@ -325,6 +336,9 @@
                 },
                 checkAll: false,
                 selectTr: 0,
+                assign:{
+                    ownerId:null
+                },
                 tableData: {
                     firstData: {
                         data: [],
@@ -335,6 +349,7 @@
                         search: {
                             ownerId: null,
                             type: null,
+                            taskNum: null,
                             status: '创建',
                             ownerIdList: {!! $ownerIds !!}
                         }
@@ -475,14 +490,39 @@
                 }).init();
             },
             methods: {
+                submitAssignOwner(){
+                    let url = this.getBaseUrl() + `/api/wms/rejectedPushTask/init?ownerId=${this.assign.ownerId}`
+                    axios.get(url).then(res => {
+                        if (res.data.code !== 200) {
+                            tempTip.show('接口异常!');
+                            tempTip.setDuration(2000)
+                        } else {
+                            this.searchData();
+                            tempTip.setDuration(2000)
+                            tempTip.showSuccess('提交成功');
+                        }
+                    });
+                },
+                assignOwner() {
+                    $('#assignOwner').modal('show');
+                },
+                setFirstDataSearach(){
+                    this.tableData.firstData.search.ownerId=this.tableData.secondData.search.ownerId;
+                    this.tableData.firstData.search.type= this.tableData.secondData.search.type;
+                    this.tableData.firstData.search.taskNum=this.tableData.secondData.search.taskNum;
+                    if (this.tableData.secondData.search.status!=null){
+                        this.tableData.firstData.search.status=this.tableData.secondData.search.status;
+                    }
+                },
                 //初始化页面数据
                 initData() {
-                    //加载firstTable
-                    let firstDataUrl = this.getBaseUrl() + `/api/wms/rejectedPushTask/list?size=${this.tableData.firstData.size}&current=${this.tableData.firstData.current}`;
-                    this.fetch(firstDataUrl, this.tableData.firstData, this.tableData.firstData.search);
                     //加载secondTable
                     let secondDataUrl = this.getBaseUrl() + `/api/wms/rejectedPushTask/list?size=${this.tableData.secondData.size}&current=${this.tableData.secondData.current}`;
                     this.fetch(secondDataUrl, this.tableData.secondData, this.tableData.secondData.search);
+                    //加载firstTable
+                    this.setFirstDataSearach();
+                    let firstDataUrl = this.getBaseUrl() + `/api/wms/rejectedPushTask/list?size=${this.tableData.firstData.size}&current=${this.tableData.firstData.current}`;
+                    this.fetch(firstDataUrl, this.tableData.firstData, this.tableData.firstData.search);
                 },
                 //发送请求并给对应数据赋值
                 fetch(url, data, search) {
@@ -495,7 +535,6 @@
                             data.current = 1
                             data.pages = 0
                         } else {
-                            tempTip.showSuccess('查询成功!');
                             data.data = res.data.data.list;
                             data.total = res.data.data.page.total;
                             data.current = res.data.data.page.pageNum;
@@ -506,7 +545,6 @@
                 },
                 //包裹明细分页
                 packagePagination(flag) {
-                    console.log(flag);
                     if (flag === 'pre' && this.showDetailData.packageDetail.current > 1) {
                         this.showDetailData.packageDetail.current--;
                     } else if (flag === 'next' && this.showDetailData.packageDetail.current < this.showDetailData.packageDetail.pages) {
@@ -531,7 +569,6 @@
                     let url = this.getBaseUrl() + `/api/wms/rejectedPushTask/commodity/list?size=${this.showDetailData.commodityDetail.size}&current=${this.showDetailData.commodityDetail.current}&rejectedPushTaskId=${id}`;
                     tempTip.showSuccess('开始查询,请稍后!');
                     axios.get(url).then(res => {
-                        tempTip.showSuccess('查询成功!');
                         if (res.data.code !== 200) {
                             tempTip.show('接口异常!');
                             this.showDetailData.commodityDetail.data = [];
@@ -556,7 +593,6 @@
                     let url = this.getBaseUrl() + `/api/wms/rejectedPushTask/package/list?size=${this.showDetailData.packageDetail.size}&current=${this.showDetailData.packageDetail.current}&rejectedPushTaskId=${id}`
                     tempTip.showSuccess('开始查询,请稍后!');
                     axios.get(url).then(res => {
-                        tempTip.showSuccess('查询成功!');
                         if (res.data.code !== 200) {
                             tempTip.show('接口异常!');
                             this.showDetailData.packageDetail.data = [];
@@ -612,7 +648,7 @@
                     let url = null;
                     let env = "{{ config('app.env') }}";
                     if (env === 'local') {
-                        url = 'http://127.0.0.1:8118'
+                        url = 'http://127.0.0.1:8112'
                     } else if (env === 'production') {
                         url = 'https://swms.baoshi56.com'
                     }
@@ -625,8 +661,13 @@
                     } else if (flag === 'next' && this.tableData.secondData.current < this.tableData.secondData.pages) {
                         this.tableData.secondData.current++;
                     }
-                    let url = this.getBaseUrl() + `/api/wms/rejectedPushTask/list?size=${this.tableData.secondData.size}&current=${this.tableData.secondData.current}`;
-                    this.fetch(url, this.tableData.secondData, this.tableData.secondData.search);
+                    //加载secondTable
+                    let secondDataUrl = this.getBaseUrl() + `/api/wms/rejectedPushTask/list?size=${this.tableData.secondData.size}&current=${this.tableData.secondData.current}`;
+                    this.fetch(secondDataUrl, this.tableData.secondData, this.tableData.secondData.search);
+                    //加载firstTable
+                    this.setFirstDataSearach();
+                    let firstDataUrl = this.getBaseUrl() + `/api/wms/rejectedPushTask/list?size=${this.tableData.firstData.size}&current=${this.tableData.firstData.current}`;
+                    this.fetch(firstDataUrl, this.tableData.firstData, this.tableData.firstData.search);
                 },
                 //下载excel
                 downExcel(item) {

+ 1 - 3
resources/views/store/index.blade.php

@@ -2,7 +2,5 @@
 @section('title')入库管理@endsection
 
 @section('content')
-    <span id="nav2">
-        @component('store.menu')@endcomponent
-    </span>
+
 @endsection

+ 6 - 0
resources/views/store/receivingDashboard/punctualityProgress/index.blade.php

@@ -195,11 +195,17 @@
                     createSingleEndTime: null,
                     workGroupId: null,
                     sign: null,
+                    ownerIdList:[
+                            @foreach($owners as $owner)
+                        {{$owner->id}},
+                        @endforeach
+                    ],
                 },
                 size: 50,
                 current: 1,
             },
             created() {
+                console.log(this.search.ownerIdList)
                 let url = this.getBaseUrl() + `/api/receiveBoard/agingScheduleList?size=${this.size}&current=${this.current}`
                 this.initSearchDate();
                 this.getPageResult(url);

+ 5 - 0
resources/views/store/receivingDashboard/receivingTableList/index.blade.php

@@ -215,6 +215,11 @@
                     createSingleStartTime: null,
                     createSingleEndTime: null,
                     sign: null,
+                    ownerIdList:[
+                        @foreach($owners as $owner)
+                            {{$owner->id}},
+                        @endforeach
+                    ],
                 },
                 closeAsnParam:{
                     asnType:null,

+ 4 - 4
resources/views/store/receivingTasks/create.blade.php

@@ -2,7 +2,7 @@
 @section('title')开单入库-创建@endsection
 @section('head')
     <link href="{{ mix('css/element-ui.css') }}" rel="stylesheet">
-    <link rel="stylesheet" href="{{ mix('css/element/index.css') }}">
+    <link rel="stylesheet" href="{{ asset('css/element/index.css') }}">
 @endsection
 
 @section('content')
@@ -384,8 +384,8 @@
 @section('lastScript')
 
     <script type="text/javascript" src="{{mix('js/queryForm/queryForm.js')}}"></script>
-    <script type="text/javascript" src="{{ mix('js/element-ui.js') }}"></script>
-    <script type="text/javascript" src="{{mix('js/element/index.js') }}"></script>
+    <script type="text/javascript" src="{{asset('js/element-ui.js') }}"></script>
+    <script type="text/javascript" src="{{asset('js/element/index.js') }}"></script>
     <script type="text/javascript" src="{{mix('js/lodop/LodopFuncs.js')}}"></script>
 
     <script src='http://localhost:18000/CLodopfuncs.js?name=CLODOPA'></script>
@@ -786,7 +786,7 @@
                     } = this.receiving_task_print;
                     this.clodop.PRINT_INITA(2, 0, 0, 0, "");
                     this.clodop.SET_PRINT_PAGESIZE(2, '76mm', '130mm');
-                    this.clodop.ADD_PRINT_BARCODE(20, 70, 350, 50, "Code39", number);
+                    this.clodop.ADD_PRINT_BARCODE(5, 50, 480, 80, "Code39", number);
                     this.clodop.SET_PRINT_STYLEA(0, "FontSize", 10);
                     this.clodop.ADD_PRINT_TEXT(100, 15, 100, 20, "收货任务号");
                     this.clodop.SET_PRINT_STYLEA(0, "FontSize", 10);

+ 1 - 1
resources/views/store/receivingTasks/index.blade.php

@@ -296,7 +296,7 @@
 
                     this.clodop.PRINT_INITA(2, 0, 0, 0, "");
                     this.clodop.SET_PRINT_PAGESIZE(2, '76mm', '130mm');
-                    this.clodop.ADD_PRINT_BARCODE(20, 70, 350, 50, "Code39", number);
+                    this.clodop.ADD_PRINT_BARCODE(5, 50, 480, 80, "Code39", number);
                     this.clodop.SET_PRINT_STYLEA(0, "FontSize", 10);
                     this.clodop.ADD_PRINT_TEXT(100, 15, 100, 20, "收货任务号");
                     this.clodop.SET_PRINT_STYLEA(0, "FontSize", 10);