|
|
@@ -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 '没有权限'; }
|