瀏覽代碼

Merge branch 'zzd'

LD 5 年之前
父節點
當前提交
196c2caee7

+ 17 - 9
app/Http/Controllers/ProcessController.php

@@ -561,10 +561,12 @@ class ProcessController extends Controller
                     ]);
                 }
                 if (isset($processContent['commodity_barcode'])){
-                    CommodityBarcode::query()->firstOrCreate([
-                        'commodity_id'=>$processContent['commodity_id'],
-                        'code'=>$processContent['commodity_barcode']]
-                    );
+                    Sign::query()->create([
+                        'signable_type'=>'processes_contents',
+                        'signable_id'=>$processContentOne->id,
+                        'field'=>'commodity_barcode',
+                        'mark'=>$processContent['commodity_barcode'],
+                    ]);
                 }
                 if (isset($processContent['is_update_commodity_sku'])){
                     Sign::query()->create([
@@ -679,7 +681,7 @@ class ProcessController extends Controller
     {
         if(!Gate::allows('二次加工管理-编辑')){ return redirect(url('/'));  }
         $process=Process::with(['processesContents'=>function($query){
-            return $query->with(['commodity'=>function($query){
+            return $query->with(['signCommodityName','signCommoditySku','signCommodityBarcode','commodity'=>function($query){
                 return $query->with('barcodes');
             }]);
         }])->find($id);
@@ -763,10 +765,16 @@ class ProcessController extends Controller
                     ]);
                 }
                 if (isset($processContent['commodity_barcode'])){
-                    CommodityBarcode::query()->firstOrCreate([
-                            'commodity_id'=>$processContent['commodity_id'],
-                            'code'=>$processContent['commodity_barcode']]
-                    );
+                    Sign::query()->updateOrCreate([
+                        'signable_type'=>'processes_contents',
+                        'signable_id'=>$processContentOne->id,
+                        'field'=>'commodity_barcode',
+                    ],[
+                        'signable_type'=>'processes_contents',
+                        'signable_id'=>$processContentOne->id,
+                        'field'=>'commodity_barcode',
+                        'mark'=>$processContent['commodity_barcode'],
+                    ]);
                 }
                 if (isset($processContent['is_update_commodity_sku'])){
                     Sign::query()->updateOrCreate([

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

@@ -17,6 +17,7 @@ use App\OracleIdxAsrsReceive;
 use App\Order;
 use App\Package;
 use App\Process;
+use App\ProcessesContent;
 use App\ProcessStatistic;
 use App\Rejected;
 use App\RejectedBill;
@@ -271,6 +272,11 @@ class TestController extends Controller
     /*1*/
     function test(Request $request)
     {/**/
+        $units=ProcessesContent::with('signCommodity')->get();
+        foreach ($units as $unit){
+            if ($unit->sign_commodity_name_mark)dd($unit->sign_commodity_name_mark);
+        }
+
         header("Content-type:text/html;charset=utf-8");
 
         $stuid = "201301013";

+ 13 - 2
app/Http/Controllers/api/thirdPart/flux/ProcessController.php

@@ -140,6 +140,7 @@ class ProcessController extends Controller
         //处理重组数据
         $docs=['owner_code'=>[],'sku'=>[]];
         $commodities=[];
+        $commodity_ids=[];
         $i=0;
         $docSKUs=array_column($doc->toArray(),'sku');
         $docOwnerCodes=array_column($docHeader?$docHeader->toArray():$doc->toArray(),'customerid');
@@ -162,7 +163,12 @@ class ProcessController extends Controller
             }
             $commodity->amount=$docOne[$amountColumn];
             $commodity->lineNo=$docOne[$lineNoColumn];
-            array_push($commodities,$commodity->toArray());
+            if (isset($commodity_ids[$commodity->id]))
+                $commodities[$commodity_ids[$commodity->id]]['amount'] += $commodity->amount;
+            else{
+                array_push($commodities,$commodity->toArray());
+                $commodity_ids[$commodity->id] = count($commodities)-1;
+            }
             unset($doc[$i]);
             $i++;
         }
@@ -185,7 +191,12 @@ class ProcessController extends Controller
                 if (!$commodity)continue;
                 $commodity->amount=$docOne[$amountColumn];
                 $commodity->lineNo=$docOne[$lineNoColumn];
-                array_push($commodities,$commodity->toArray());
+                if (isset($commodity_ids[$commodity->id]))
+                    $commodities[$commodity_ids[$commodity->id]]['amount'] += $commodity->amount;
+                else{
+                    array_push($commodities,$commodity->toArray());
+                    $commodity_ids[$commodity->id] = count($commodities)-1;
+                }
             }
         }
         return $commodities;

+ 10 - 1
app/ProcessesContent.php

@@ -15,6 +15,7 @@ class ProcessesContent extends Model
         'commodity_name',
         'sign_commodity_name_mark',
         'sign_commodity_sku_mark',
+        'sign_commodity_barcode_mark',
     ];
 
     public function process(){
@@ -31,6 +32,10 @@ class ProcessesContent extends Model
         return $this->hasOne('App\Sign','signable_id','id')
             ->where('signable_type','processes_contents')->where('field','commodity_sku');
     }
+    public function signCommodityBarcode(){
+        return $this->hasOne('App\Sign','signable_id','id')
+            ->where('signable_type','processes_contents')->where('field','commodity_barcode');
+    }
 
     public function getCommodityNameAttribute()
     {
@@ -42,6 +47,10 @@ class ProcessesContent extends Model
     }
     public function getSignCommoditySkuMarkAttribute()
     {
-        return $this['signCommodityName']? $this['signCommoditySku']['mark']:null;
+        return $this['signCommoditySku']? $this['signCommoditySku']['mark']:null;
+    }
+    public function getSignCommodityBarcodeMarkAttribute()
+    {
+        return $this['signCommodityBarcode']? $this['signCommodityBarcode']['mark']:null;
     }
 }

+ 1 - 1
app/Services/ProcessService.php

@@ -12,7 +12,7 @@ Class ProcessService
     private function conditionQuery(Request $request){
         $processes=Process::filterAuthorities()->with(['tutorials','signs',
             'signUnitPrice','processesContents'=>function($query){
-            return $query->with(['signCommodityName','signCommoditySku','commodity'=>function($query){
+            return $query->with(['signCommodityName','signCommoditySku','signCommodityBarcode','commodity'=>function($query){
                 return $query->with('barcodes');
             }]);
         }])->orderBy('processes.id','DESC');

+ 35 - 12
resources/views/process/create.blade.php

@@ -110,16 +110,26 @@
                                         <span class="ml-2 text-muted">单据类型:</span>
                                         <span class=" text-muted">@{{ processContent.bill_type }}</span>
                                         <span class="ml-2 font-weight-bold">商品名:</span>
-                                        <span class="font-weight-bold">@{{ processContent.commodity_name }}</span>
+                                        <span class="font-weight-bold">
+                                            <span v-if="processContent.sign_commodity_name_mark">@{{ processContent.sign_commodity_name_mark }}</span>
+                                            <span v-else>@{{ processContent.commodity_name }}</span>
+                                        </span>
                                         <span class="ml-2 text-muted">SKU:</span>
-                                        <span class=" text-muted">@{{ processContent.commodity_sku }}</span>
+                                        <span class=" text-muted">
+                                            <span v-if="processContent.sign_commodity_sku_mark">@{{ processContent.sign_commodity_sku_mark }}</span>
+                                            <span v-else>@{{ processContent.commodity_sku }}</span>
+                                        </span>
                                         <span class="ml-2 font-weight-bold">数量:</span>
                                         <span class="font-weight-bold">@{{ processContent.amount }}</span>
                                         <span class="ml-2 text-muted">条码:</span>
                                         <span class="text-muted">
-                                            <small v-if="processContent.commodity_barcode"> @{{ processContent.commodity_barcode }}</small>
-                                            <small v-if="processContent.commodity_barcodes && processContent.commodity_barcodes.length>0 && !processContent.commodity_barcode"
-                                                                        v-for="barcode in processContent.commodity_barcodes">@{{ barcode.code }}</small></span>
+                                            <span v-if="processContent.sign_commodity_barcode_mark">@{{ processContent.sign_commodity_barcode_mark }}</span>
+                                            <span v-else>
+                                                <small v-if="processContent.commodity_barcode"> @{{ processContent.commodity_barcode }}</small>
+                                                <small v-if="processContent.commodity_barcodes && processContent.commodity_barcodes.length>0 && !processContent.commodity_barcode"
+                                                                            v-for="barcode in processContent.commodity_barcodes">@{{ barcode.code }}</small>
+                                            </span>
+                                        </span>
                                         <button v-if="is_delBtn[processContent.wms_code+'_'+processContent.commodity_id+'_'+false]" @click="deleteProcessContent(processContent.wms_code,processContent.commodity_id,false,processContent.amount)" class="btn btn-sm btn-danger" style="position: absolute;right: 0;bottom: 0">删除</button>
                                     </div>
                                 </div>
@@ -193,16 +203,26 @@
                                         <span class="ml-2 text-muted">单据类型:</span>
                                         <span class=" text-muted">@{{ processContent.bill_type }}</span>
                                         <span class="ml-2 font-weight-bold">商品名:</span>
-                                        <span class="font-weight-bold">@{{ processContent.commodity_name }}</span>
+                                        <span class="font-weight-bold">
+                                            <span v-if="processContent.sign_commodity_name_mark">@{{ processContent.sign_commodity_name_mark }}</span>
+                                            <span v-else>@{{ processContent.commodity_name }}</span>
+                                        </span>
                                         <span class="ml-2 text-muted">SKU:</span>
-                                        <span class=" text-muted">@{{ processContent.commodity_sku }}</span>
+                                        <span class=" text-muted">
+                                            <span v-if="processContent.sign_commodity_sku_mark">@{{ processContent.sign_commodity_sku_mark }}</span>
+                                            <span v-else>@{{ processContent.commodity_sku }}</span>
+                                        </span>
                                         <span class="ml-2 font-weight-bold">数量:</span>
                                         <span class="font-weight-bold">@{{ processContent.amount }}</span>
                                         <span class="ml-2 text-muted">条码:</span>
                                         <span class="text-muted">
-                                            <small v-if="processContent.commodity_barcode"> @{{ processContent.commodity_barcode }}</small>
-                                            <small v-if="processContent.commodity_barcodes && processContent.commodity_barcodes.length>0 && !processContent.commodity_barcode"
-                                                   v-for="barcode in processContent.commodity_barcodes">@{{ barcode.code }}</small></span>
+                                            <span v-if="processContent.sign_commodity_barcode_mark">@{{ processContent.sign_commodity_barcode_mark }}</span>
+                                            <span v-else>
+                                                <small v-if="processContent.commodity_barcode"> @{{ processContent.commodity_barcode }}</small>
+                                                <small v-if="processContent.commodity_barcodes && processContent.commodity_barcodes.length>0 && !processContent.commodity_barcode"
+                                                   v-for="barcode in processContent.commodity_barcodes">@{{ barcode.code }}</small>
+                                            </span>
+                                        </span>
                                         <button v-if="is_delBtn[processContent.wms_code+'_'+processContent.commodity_id+'_'+true]" @click="deleteProcessContent(processContent.wms_code,processContent.commodity_id,true,processContent.amount)" class="btn btn-sm btn-danger" style="position: absolute;right: 0;bottom: 0">删除</button>
                                     </div>
                                 </div>
@@ -286,7 +306,10 @@
                         @foreach($process->processesContents as $processesContent)
                         {id:'{{$processesContent->id}}',wms_code:'{{$processesContent->wms_code}}',commodity_name:'{{$processesContent->commodity?$processesContent->commodity->name:""}}',@if($processesContent->commodity) commodity_barcodes:{!! $processesContent->commodity->barcodes !!},@endif
                             commodity_id:'{{$processesContent->commodity_id}}',commodity_sku:'{{$processesContent->commodity?$processesContent->commodity->sku:""}}',bill_type:'{{$processesContent->bill_type}}',amount:'{{$processesContent->amount}}',
-                            addBtnShow:false,type:'{{$processesContent->type}}'},
+                            addBtnShow:false,type:'{{$processesContent->type}}',
+                            sign_commodity_name_mark:'{{$processesContent->sign_commodity_name_mark}}',
+                            sign_commodity_sku_mark:'{{$processesContent->sign_commodity_sku_mark}}',
+                            sign_commodity_barcode_mark:'{{$processesContent->sign_commodity_barcode_mark}}'},
                         @endforeach
                     @endif
                 ],
@@ -309,7 +332,7 @@
             watch:{
                 processContents:{
                     handler(){
-                        if (this.processContents.length===1){
+                        if (this.processContents.length===1 && this.processContents[(this.processContents.length)-1].owner_id){
                             this.process.owner_id=this.processContents[(this.processContents.length)-1].owner_id;
                             //this.getTutorial(this.processContents[(this.processContents.length)-1].owner_id);
                         }

+ 7 - 2
resources/views/process/index.blade.php

@@ -284,9 +284,10 @@
                             <td style="width: 210px" class="text-muted" :class="processesContent.type=='原料单'?'td-warm':'td-cool'">@{{ processesContent.wms_code }}</td>
                             <td style="width: 100px" class="text-muted" :class="processesContent.type=='原料单'?'td-warm':'td-cool'">@{{ processesContent.amount }}</td>
                             <td style="width: 180px" class="text-muted" :class="processesContent.type=='原料单'?'td-warm':'td-cool'">
-                                <ul class="p-0 m-0 list-unstyled list-inline" v-if="processesContent.commodity">
+                                <ul class="p-0 m-0 list-unstyled list-inline" v-if="processesContent.commodity && !processesContent.sign_commodity_barcode_mark">
                                     <li v-for="barcode in processesContent.commodity.barcodes"><small>@{{ barcode.code }}</small></li>
                                 </ul>
+                                <span v-if="processesContent.sign_commodity_barcode_mark">@{{ processesContent.sign_commodity_barcode_mark }}</span>
                             </td>
                             <td :title="processesContent.sign_commodity_name_mark?processesContent.sign_commodity_name_mark:processesContent.commodity_name" class="text-muted tooltipTarget" :class="processesContent.type=='原料单'?'td-warm':'td-cool'">
                                 <div style="width: 180px;overflow:hidden" :class="processesContent.bill_type=='原料单'?'td-warm':'td-cool'">@{{ processesContent.sign_commodity_name_mark?processesContent.sign_commodity_name_mark:processesContent.commodity_name }}</div></td>
@@ -308,7 +309,11 @@
                             <span>@{{ processesContent.bill_type }}</span>&nbsp;&nbsp;
                             <span>@{{ processesContent.wms_code }}</span>&nbsp;&nbsp;
                             <span>@{{ processesContent.amount }}</span>&nbsp;&nbsp;
-                            <span v-if="processesContent.commodity && processesContent.commodity.barcodes.length>0">
+                            <span v-if="processesContent.sign_commodity_barcode_mark">
+                                @{{ processesContent.sign_commodity_barcode_mark }}
+                            </span>
+                            <span v-if="!processesContent.sign_commodity_barcode_mark &&
+                            processesContent.commodity && processesContent.commodity.barcodes.length>0">
                                 @{{ processesContent.commodity.barcodes[0].code }}
                             </span>&nbsp;&nbsp;
                             <span :title="processesContent.sign_commodity_name_mark?processesContent.sign_commodity_name_mark:processesContent.commodity_name" class="text-muted tooltipTarget" style="max-width:100px;overflow:hidden;">@{{ processesContent.sign_commodity_name_mark?processesContent.sign_commodity_name_mark:processesContent.commodity_name }}</span>