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

二次加工管理-修改价格确认后生效,二次加工模块全列表需要对应客户权限

dream 5 лет назад
Родитель
Сommit
b30dfe99db
2 измененных файлов с 29 добавлено и 65 удалено
  1. 28 63
      app/Http/Controllers/ProcessController.php
  2. 1 2
      resources/views/process/index.blade.php

+ 28 - 63
app/Http/Controllers/ProcessController.php

@@ -91,7 +91,7 @@ class ProcessController extends Controller
     public function index(Request $request)
     {
         if(!Gate::allows('二次加工管理-查询')){ return redirect(url('/'));  }
-        $processes=Process::with(['tutorials','signs','processesContents'=>function($query){
+        $processes=Process::filterAuthorities()->with(['tutorials','signs','processesContents'=>function($query){
             return $query->with(['commodity'=>function($query){
                 return $query->with('barcodes');
             }]);
@@ -101,7 +101,7 @@ class ProcessController extends Controller
             return $excel;
         }
         $processes=$this->conditionQuery($request,$processes);
-        $owners=Owner::select('id','name')->get();
+        $owners=Owner::filterAuthorities()->select('id','name')->get();
         return view('process.index',['processes'=>$processes,'owners'=>$owners,'request'=>$request->input()]);
     }
 
@@ -127,10 +127,9 @@ class ProcessController extends Controller
         $id=$request->input('id');
         $processDailies=ProcessDaily::with(['processDailyParticipants','process'])->orderBy('date','DESC')
             ->where('process_id',$id)->get();
-        $process=Process::with('automaticSupplementSign')->find($id);
+        $process=Process::find($id);
         if (count($processDailies)>0){
-            if ((($process->amount)-($process->completed_amount))<=0 || $process->status=='交接完成'
-                || $process->automaticSupplementSign)$result=true;
+            if ((($process->amount)-($process->completed_amount))<=0 || $process->status=='交接完成')$result=true;
             else $result=$this->createDeficiencyData($processDailies,$today);
             if ($result){
                 $processDailies=ProcessDaily::with(['processDailyParticipants','process'])
@@ -207,15 +206,13 @@ class ProcessController extends Controller
     }
     //生成二次加工单缺失时间记录及本日记录
     private function createDeficiencyData($processDailies,$today){
-        $today=Carbon::parse($today);
         $processDailiesArr=[];
         foreach ($processDailies as $processDaily){
             $processDailiesArr[$processDaily->date]=$processDaily;
         }
         $processDailyOne=$processDailies[count($processDailies)-1];
         $startDate=Carbon::parse($processDailyOne->date);
-        $diffDay=$startDate->diffInDays($today,false);
-        if ($diffDay<1)return true;
+        $diffDay=$startDate->diffInDays($today,true);
         $remain=$processDailyOne->remain;
         $processId=$processDailyOne->process_id;
         for ($i=1;$i<=$diffDay;$i++){
@@ -489,13 +486,6 @@ class ProcessController extends Controller
         $this->log(__METHOD__,"登记工时参与人审核".__FUNCTION__,json_encode($processDailyParticipant),Auth::user()['id']);
         return ['success'=>true,'processDailyParticipant'=>$processDailyParticipant];
     }
-    /*//临时工详情
-    public function showUserDetail(Request $request){
-        $id=$request->input('user_id');
-        $userDetail=UserDetail::with('user_labor')->find($id);
-        if (!$userDetail) return ['success'=>'false'];
-        return ['success'=>'true','userDetail'=>$userDetail];
-    }*/
     //获取全部教程
     public function getTutorials($id){
         $process=Process::with('tutorials')->find($id);
@@ -622,10 +612,10 @@ class ProcessController extends Controller
         if (count($errors)>0)return ['success'=>false,'data'=>'非法参数!'];
         $process=Process::with('signs')->find($request->id);
         if (!$process || $process->status!='交接完成' || count($process->signs)>0)return ['success'=>false,'data'=>'无法操作该二次加工单!'];
-        $process->update(['unit_price'=>$request->unit_price]);
+        $process->createSignUnitPrice($request->unit_price);
         $sign=$process->createSign('发起修改');
         $this->log(__METHOD__,"修改二次加工单价格_".__FUNCTION__,json_encode($request->input()),Auth::user()['id']);
-        return ['success'=>true,'data'=>$process->unit_price,'sign'=>$sign];
+        return ['success'=>true,'sign'=>$sign];
     }
 
     //二次加工组审核   两个方法大体相同 拆分原因是为了精确区分权限
@@ -649,13 +639,21 @@ class ProcessController extends Controller
         }
         if (isset($signMap[$msg]))return ['success'=>false,'data'=>'该单已被确认过!'];
         if (isset($signMap['二次加工组确认'])){
-            $this->statistic($process);
+            $signUnitPrice=$process->signUnitPrice();
+            if ($signUnitPrice){
+                $process->update(['unit_price' => $signUnitPrice->mark]);
+                $this->statistic($process);
+            }
             $process->createSign('财务确认');
             $process->destroySign();
             return ['success'=>true,'data'=>false];
         }
         if (isset($signMap['财务确认'])){
-            $this->statistic($process);
+            $signUnitPrice=$process->signUnitPrice();
+            if ($signUnitPrice){
+                $process->update(['unit_price' => $signUnitPrice->mark]);
+                $this->statistic($process);
+            }
             $process->createSign('二次加工组确认');
             $process->destroySign();
             return ['success'=>true,'data'=>false];
@@ -805,15 +803,15 @@ class ProcessController extends Controller
     }
     //加工完成
     function processAccomplish(Request $request){
-       if(!Gate::allows('二次加工管理-登记工时')){ return ['success'=>false,'data'=>'您无权进行该操作!'];  }
-       $process= Process::find($request->id);
-       if (!$process)return ['success'=>false];
-       $process->update([
-           'status'=>'待验收'
-       ]);
-       $process->createOperatorLog('加工完成');
+        if(!Gate::allows('二次加工管理-登记工时')){ return ['success'=>false,'data'=>'您无权进行该操作!'];  }
+        $process= Process::find($request->id);
+        if (!$process)return ['success'=>false];
+        $process->update([
+            'status'=>'待验收'
+        ]);
+        $process->createOperatorLog('加工完成');
         $this->log(__METHOD__,"标记加工完成_".__FUNCTION__,json_encode($request->input()),Auth::user()['id']);
-       return ['success'=>true,'data'=>'待验收'];
+        return ['success'=>true,'data'=>'待验收'];
     }
 
     //质量验收
@@ -832,7 +830,7 @@ class ProcessController extends Controller
     //回收站
     function recycle(Request $request){
         if(!Gate::allows('二次加工管理-删除')){ return redirect('/');  }
-        $processes=Process::onlyTrashed()->paginate($request->paginate??50);
+        $processes=Process::filterAuthorities()->onlyTrashed()->paginate($request->paginate??50);
         return view('process.recycle',compact('processes'));
     }
 
@@ -857,11 +855,11 @@ class ProcessController extends Controller
 
     //修改二次加工单每日单的起始日期
     public function updateStartDate(Request $request){
-        $start_date=$request->date;
+        $start_date=$request->start_date;
         $process_id=$request->process_id;
         if (!$start_date || !$process_id)return ['success'=>false,'data'=>'起始日期为空或单据已不存在!'];
         $processDailiesId=[];
-        $processDailies=ProcessDaily::where('process_id',$process_id)->orderBy('date','DESC')->get();
+        $processDailies=ProcessDaily::where('process_id',$process_id)->get();
         $is_process_daily=false;
         foreach ($processDailies as $processDaily){
             if ($processDaily->date == $start_date){
@@ -892,39 +890,6 @@ class ProcessController extends Controller
         return ['success'=>true,'data'=>$processDailies];
     }
 
-    //修改二次加工单终止日期
-    public function updateEndDate(Request $request){
-        $end_date=$request->date;
-        $process_id=$request->process_id;
-        if (!$end_date || !$process_id)return ['success'=>false,'data'=>'终止日期为空或单据已不存在!'];
-        $processDailiesId=[];
-        $processDailies=ProcessDaily::where('process_id',$process_id)->orderBy('date','DESC')->get();
-        foreach ($processDailies as $processDaily){
-            if (Carbon::parse($processDaily->date)->gt(Carbon::parse($end_date))){
-                array_push($processDailiesId,$processDaily->id);
-                unset($processDaily);
-            }
-        }
-        ProcessDaily::destroy($processDailiesId);
-        ProcessDailyParticipant::whereIn('process_daily_id',$processDailiesId)->delete();
-        $this->createDeficiencyData($processDailies,$end_date);
-        $processDailies=ProcessDaily::with('processDailyParticipants')->where('process_id',$process_id)
-            ->orderBy('date','DESC')->get();
-        $this->createAutomaticSupplement($process_id);
-        $this->log(__METHOD__,"修改二次加工单加工日记录_".__FUNCTION__,json_encode($request),Auth::user()['id']);
-        return ['success'=>true,'data'=>$processDailies];
-    }
-
-    //增加填充标记
-    private function createAutomaticSupplement($process_id){
-        Sign::create([
-            'signable_type'=>'processes',
-            'signable_id'=>$process_id,
-            'field'=>'automatic_supplement',
-            'mark'=>"停止自动补充每日记录单"
-        ]);
-    }
-
     //执行
     public function export($processes){
         if(!Gate::allows('二次加工管理-查询')){ return '没有权限';  }

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

@@ -1489,11 +1489,10 @@
                     axios.post('{{url('process/updateUnitPrice')}}', {id: process.id, unit_price: unit_price})
                         .then(function (response) {
                             if (response.data.success) {
-                                process.unit_price = response.data.data;
                                 process.signs.push(response.data.sign);
                                 process.is_update_unit_price = false;
                                 tempTip.setDuration(2000);
-                                tempTip.showSuccess('“' + process.code + "”价格修改成功!");
+                                tempTip.showSuccess('“' + process.code + "”价格修改成功,确认通过后生效!");
                                 return;
                             }
                             tempTip.setDuration(3000);