|
|
@@ -10,6 +10,7 @@ use App\ProcessDailyParticipant;
|
|
|
use App\ProcessesContent;
|
|
|
use App\ProcessMethod;
|
|
|
use App\ProcessStatistic;
|
|
|
+use App\Sign;
|
|
|
use App\Tutorial;
|
|
|
use App\UserDetail;
|
|
|
use App\UserDutyCheck;
|
|
|
@@ -26,7 +27,7 @@ use Ramsey\Uuid\Uuid;
|
|
|
|
|
|
class ProcessController extends Controller
|
|
|
{
|
|
|
- public function conditionQuery(Request $request,$processes){
|
|
|
+ private function conditionQuery(Request $request,$processes){
|
|
|
if(!Gate::allows('二次加工管理-查询')){ return redirect(url('/')); }
|
|
|
$today=Carbon::now()->subDays(15)->format('Y-m-d');;
|
|
|
if ($request->input('commodity_barcode')){
|
|
|
@@ -89,7 +90,7 @@ class ProcessController extends Controller
|
|
|
public function index(Request $request)
|
|
|
{
|
|
|
if(!Gate::allows('二次加工管理-查询')){ return redirect(url('/')); }
|
|
|
- $processes=Process::with(['tutorials','processesContents'=>function($query){
|
|
|
+ $processes=Process::with(['tutorials','signs','processesContents'=>function($query){
|
|
|
return $query->with(['commodity'=>function($query){
|
|
|
return $query->with('barcodes');
|
|
|
}]);
|
|
|
@@ -150,7 +151,7 @@ class ProcessController extends Controller
|
|
|
}
|
|
|
|
|
|
//计算单参与人工时信息
|
|
|
- public function countParticipantManHour($processDailyParticipant,$date){
|
|
|
+ protected function countParticipantManHour($processDailyParticipant,$date){
|
|
|
$user=$processDailyParticipant->user_id;
|
|
|
$userDutyCheckStart=UserDutyCheck::select('id','checked_at')->where('user_id',$user)
|
|
|
->where('checked_at','like',$date.'%')->where('type','登入')->orderBy('id')->first();
|
|
|
@@ -191,7 +192,7 @@ class ProcessController extends Controller
|
|
|
}
|
|
|
|
|
|
//打卡工时减休息时间
|
|
|
- public function isHour($userDutyCheckStart,$hour){
|
|
|
+ private function isHour($userDutyCheckStart,$hour){
|
|
|
|
|
|
$date=$userDutyCheckStart->checked_at;
|
|
|
$date=Carbon::parse($date)->format('H');
|
|
|
@@ -201,7 +202,7 @@ class ProcessController extends Controller
|
|
|
return $hour;
|
|
|
}
|
|
|
//生成二次加工单缺失时间记录及本日记录
|
|
|
- public function createDeficiencyData($processDailies,$today){
|
|
|
+ private function createDeficiencyData($processDailies,$today){
|
|
|
$processDailiesArr=[];
|
|
|
foreach ($processDailies as $processDaily){
|
|
|
$processDailiesArr[$processDaily->date]=$processDaily;
|
|
|
@@ -226,6 +227,7 @@ class ProcessController extends Controller
|
|
|
$remain=$remain-($processDailiesArr[$date]->output);
|
|
|
}
|
|
|
}
|
|
|
+ $this->log(__METHOD__,"生成加工单每日记录".__FUNCTION__,json_encode($processDailies),Auth::user()['id']);
|
|
|
return true;
|
|
|
}
|
|
|
|
|
|
@@ -233,8 +235,9 @@ class ProcessController extends Controller
|
|
|
public function reject($id){
|
|
|
if(!Gate::allows('二次加工管理-接单与驳回')){ return redirect(url('/')); }
|
|
|
$process=Process::select('id','status')->find($id);
|
|
|
- $process->status="驳回";
|
|
|
+ $process->status="已驳回";
|
|
|
$process->update();
|
|
|
+ $process->createOperatorLog('驳回');
|
|
|
$this->log(__METHOD__,"驳回二次加工单_".__FUNCTION__,json_encode($process),Auth::user()['id']);
|
|
|
return $process;
|
|
|
}
|
|
|
@@ -256,13 +259,24 @@ class ProcessController extends Controller
|
|
|
}
|
|
|
$process->status="待加工";
|
|
|
$process->update();
|
|
|
+ $process->createOperatorLog('接单');
|
|
|
$this->log(__METHOD__,"接单二次加工单_".__FUNCTION__,json_encode($process),Auth::user()['id']);
|
|
|
return $process;
|
|
|
}
|
|
|
//完成
|
|
|
- public function accomplish($id){
|
|
|
- if(!Gate::allows('二次加工管理-验收完成')){ return redirect(url('/')); }
|
|
|
- $process=Process::with('processDailies')->find($id);
|
|
|
+ public function accomplish(Request $request){
|
|
|
+ if(!Gate::allows('二次加工管理-交接完成')){ return ['success'=>false,'data'=>'您无权进行该操作!']; }
|
|
|
+ $process=Process::with('processDailies')->find($request->id);
|
|
|
+ if (!$process)return ['success'=>false];
|
|
|
+ $process->update(['status'=>'交接完成']);
|
|
|
+ $process->createOperatorLog('交接完成');
|
|
|
+ $result=$this->statistic($process);
|
|
|
+ if (!$result['success'])return $result;
|
|
|
+ $processStatistic=$result['data'];
|
|
|
+ $this->log(__METHOD__,"完成二次加工单_".__FUNCTION__,json_encode($process)." || ".json_encode($processStatistic),Auth::user()['id']);
|
|
|
+ return ['success'=>true,'data'=>'交接完成'];
|
|
|
+ }
|
|
|
+ private function statistic(Process $process){
|
|
|
if (count($process->processDailies)>0){
|
|
|
$completed_amount=0;
|
|
|
foreach ($process->processDailies as $processDaily){
|
|
|
@@ -270,12 +284,9 @@ class ProcessController extends Controller
|
|
|
}
|
|
|
$process->completed_amount=$completed_amount;
|
|
|
}
|
|
|
- $process->status="已完成";
|
|
|
- $process->update();
|
|
|
-
|
|
|
//统计:
|
|
|
$revenue=($process->unit_price)*($process->completed_amount); //收入合计
|
|
|
- $processDailies=ProcessDaily::with('processDailyParticipants')->where('process_id',$id)->where('output','>',0)->get();
|
|
|
+ $processDailies=ProcessDaily::with('processDailyParticipants')->where('process_id',$process->id)->where('output','>',0)->get();
|
|
|
$duration_days=count($processDailies); //完成天数
|
|
|
$duration_man_hours=0; //总工时
|
|
|
$total_cost=0; //合计成本
|
|
|
@@ -291,8 +302,9 @@ class ProcessController extends Controller
|
|
|
}
|
|
|
};
|
|
|
$gross_profit=$revenue-$total_cost; //毛利润
|
|
|
+ if ($gross_profit<=0)return ['success'=>false,'data'=>'该单未产生费用,无法计算毛利率!'];
|
|
|
$gross_profit_rate=$gross_profit/$revenue; //毛利率
|
|
|
- $processStatistic=ProcessStatistic::find($id);
|
|
|
+ $processStatistic=ProcessStatistic::find($process->id);
|
|
|
$processStatistic->revenue=$revenue;
|
|
|
$processStatistic->duration_days=$duration_days;
|
|
|
$processStatistic->duration_man_hours=$duration_man_hours;
|
|
|
@@ -300,8 +312,8 @@ class ProcessController extends Controller
|
|
|
$processStatistic->gross_profit=$gross_profit;
|
|
|
$processStatistic->gross_profit_rate=$gross_profit_rate;
|
|
|
$processStatistic->update();
|
|
|
- $this->log(__METHOD__,"完成二次加工单_".__FUNCTION__,json_encode($process)." || ".json_encode($processStatistic),Auth::user()['id']);
|
|
|
- return $process;
|
|
|
+ $this->log(__METHOD__,"修改二次加工单统计单_".__FUNCTION__,json_encode($processStatistic),Auth::user()['id']);
|
|
|
+ return ['success'=>true,'data'=>$processStatistic];
|
|
|
}
|
|
|
|
|
|
//修改当日产量
|
|
|
@@ -324,7 +336,7 @@ class ProcessController extends Controller
|
|
|
return $response;
|
|
|
}
|
|
|
//每次修改,去查询该单下全部日期,逐个替换,前一天剩余减当天产量为当天剩余,无前天记录去拿单子预期产量
|
|
|
- public function countRemains($processDaily){
|
|
|
+ private function countRemains($processDaily){
|
|
|
if (!$processDaily || !$processDaily->process) return;
|
|
|
$processDailies=ProcessDaily::where('process_id',$processDaily->process_id)->orderBy('date')->get();
|
|
|
for ($i=0;$i<count($processDailies);$i++){
|
|
|
@@ -347,15 +359,15 @@ class ProcessController extends Controller
|
|
|
$processStatistic->update();
|
|
|
//修改二次加工单状态
|
|
|
$result=[];
|
|
|
- if (count($processDailies)>0 && ($processDailies[(count($processDailies)-1)]->remain)<=0){
|
|
|
- $result['process']=$this->changeProcessCheck($processDaily->process_id);
|
|
|
- }
|
|
|
+ /*if (count($processDailies)>0 && ($processDailies[(count($processDailies)-1)]->remain)<=0){
|
|
|
+ $result['process']=$this->changeProcessCheck($processDaily->process_id); //保留 目前小于0后等待人工确认再进入待验收
|
|
|
+ }*/
|
|
|
$result['processDailies']=$processDailies;
|
|
|
return $result;
|
|
|
}
|
|
|
|
|
|
//剩余小于等于0,状态待验收
|
|
|
- public function changeProcessCheck($process_id){
|
|
|
+ private function changeProcessCheck($process_id){
|
|
|
$process=Process::select('id','status')->find($process_id);
|
|
|
if ($process->status=="加工中"){
|
|
|
$process->status="待验收";
|
|
|
@@ -493,6 +505,7 @@ class ProcessController extends Controller
|
|
|
}
|
|
|
//添加教程关联
|
|
|
public function selectedTutorial(Request $request){
|
|
|
+ if(!Gate::allows('二次加工管理-教程管理')){ return ['success'=>false,'data'=>'您无权进行该操作!']; }
|
|
|
$process_id=$request->input('process_id');
|
|
|
$tutorial_id=$request->input('tutorial_id');
|
|
|
if (!$process_id || !$tutorial_id) return ['success'=>false,'data'=>'二次加工或教程传递错误!'];
|
|
|
@@ -504,6 +517,7 @@ class ProcessController extends Controller
|
|
|
}
|
|
|
//删除教程关联
|
|
|
public function deleteTutorial(Request $request){
|
|
|
+ if(!Gate::allows('二次加工管理-教程管理')){ return ['success'=>false,'data'=>'您无权进行该操作!']; }
|
|
|
$process_id=$request->input('process_id');
|
|
|
$tutorial_id=$request->input('tutorial_id');
|
|
|
if (!$process_id || !$tutorial_id) return ['success'=>false,'data'=>'二次加工或教程传递错误!'];
|
|
|
@@ -518,6 +532,7 @@ class ProcessController extends Controller
|
|
|
*/
|
|
|
public function create()
|
|
|
{
|
|
|
+ if(!Gate::allows('二次加工管理-录入')){ return redirect(url('/')); }
|
|
|
$processMethods=ProcessMethod::get();
|
|
|
return view('process/create',['processMethods'=>$processMethods]);
|
|
|
}
|
|
|
@@ -547,8 +562,10 @@ class ProcessController extends Controller
|
|
|
'unit_price'=>$request->input('unit_price'),
|
|
|
'remark'=>$request->input('remark'),
|
|
|
'amount'=>$request->input('amount'),
|
|
|
+ 'status'=>'待审核',
|
|
|
]);
|
|
|
$process->save();
|
|
|
+ $process->createOperatorLog('创建');
|
|
|
$processContents=[];
|
|
|
foreach ($request->input('processContents') as $processContent){
|
|
|
$wmsCode_commoditySku=$processContent['wms_code'].'_'.$processContent['commodity_sku'].'_'.$processContent['type'];
|
|
|
@@ -569,7 +586,14 @@ class ProcessController extends Controller
|
|
|
]);
|
|
|
if ($processContent['type'])$processContentOne->type='成品单';
|
|
|
$processContentOne->save();
|
|
|
- $this->log(__METHOD__,"录入二次加工单内容单".__FUNCTION__,json_encode($processContentOne),Auth::user()['id']);
|
|
|
+ if (isset($processContent['is_update_commodity_name'])){
|
|
|
+ Sign::create([
|
|
|
+ 'signable_type'=>'processes_contents',
|
|
|
+ 'signable_id'=>$processContentOne->id,
|
|
|
+ 'field'=>'commodity_name',
|
|
|
+ 'mark'=>$processContent['commodity_name'],
|
|
|
+ ]);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
$process->code='P'.date ("Ymd").str_pad($process->id,3,"0",STR_PAD_LEFT);
|
|
|
@@ -578,20 +602,73 @@ class ProcessController extends Controller
|
|
|
'process_id'=>$process->id,
|
|
|
]);
|
|
|
$processStatistic->save();
|
|
|
- $this->log(__METHOD__,"录入二次加工单".__FUNCTION__,json_encode($process)." || ".json_encode($processStatistic),Auth::user()['id']);
|
|
|
+ $this->log(__METHOD__,"录入二次加工单".__FUNCTION__,json_encode($request->input()),Auth::user()['id']);
|
|
|
if ($request->input('tutorials'))$process->tutorials()->sync($request->input('tutorials'));
|
|
|
return;
|
|
|
}
|
|
|
-
|
|
|
- /**
|
|
|
- * Display the specified resource.
|
|
|
- *
|
|
|
- * @param int $id
|
|
|
- * @return \Illuminate\Http\Response
|
|
|
- */
|
|
|
- public function show($id)
|
|
|
- {
|
|
|
- //
|
|
|
+ //修改价格
|
|
|
+ function updateUnitPrice(Request $request){
|
|
|
+ if(!Gate::allows('二次加工管理-修改价格')){ return ['success'=>false,'data'=>'您无权进行该操作!']; }
|
|
|
+ $errors=Validator::make($request->input(),[
|
|
|
+ 'id' => 'required',
|
|
|
+ 'unit_price'=>['required','numeric'],
|
|
|
+ ])->errors();
|
|
|
+ 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]);
|
|
|
+ $sign=$process->createSign('发起修改');
|
|
|
+ $this->log(__METHOD__,"修改二次加工单价格_".__FUNCTION__,json_encode($request->input()),Auth::user()['id']);
|
|
|
+ return ['success'=>true,'data'=>$process->unit_price,'sign'=>$sign];
|
|
|
+ }
|
|
|
+
|
|
|
+ //二次加工组审核 两个方法大体相同 拆分原因是为了精确区分权限
|
|
|
+ function workGroupVerify(Request $request){
|
|
|
+ if(!Gate::allows('二次加工管理-组长确认')){ return ['success'=>false,'data'=>'您无权进行该操作!']; }
|
|
|
+ $this->log(__METHOD__,"修改二次加工单价格二次加工组确认_".__FUNCTION__,json_encode($request->input()),Auth::user()['id']);
|
|
|
+ return $this->verify($request->id,'二次加工组确认');
|
|
|
+ }
|
|
|
+ //二次加工组审核
|
|
|
+ function accountantVerify(Request $request){
|
|
|
+ if(!Gate::allows('二次加工管理-财务确认')){ return ['success'=>false,'data'=>'您无权进行该操作!']; }
|
|
|
+ $this->log(__METHOD__,"修改二次加工单价格财务确认_".__FUNCTION__,json_encode($request->input()),Auth::user()['id']);
|
|
|
+ return $this->verify($request->id,'财务确认');
|
|
|
+ }
|
|
|
+ private function verify($id,$msg){
|
|
|
+ $process=Process::with(['signs','processDailies'])->find($id);
|
|
|
+ if (!$process || count($process->signs)<1)return false;
|
|
|
+ $signMap=[];
|
|
|
+ foreach ($process->signs as $sign){
|
|
|
+ $signMap[$sign->mark]=true;
|
|
|
+ }
|
|
|
+ if (isset($signMap[$msg]))return ['success'=>false,'data'=>'该单已被确认过!'];
|
|
|
+ if (isset($signMap['二次加工组确认'])){
|
|
|
+ $process->createSign('财务确认');
|
|
|
+ $result=$this->statistic($process);
|
|
|
+ if (!$result['success'])return $result;
|
|
|
+ $process->destroySign();
|
|
|
+ return ['success'=>true,'data'=>false];
|
|
|
+ }
|
|
|
+ if (isset($signMap['财务确认'])){
|
|
|
+ $process->createSign('二次加工组确认');
|
|
|
+ $result=$this->statistic($process);
|
|
|
+ if (!$result['success'])return $result;
|
|
|
+ $process->destroySign();
|
|
|
+ return ['success'=>true,'data'=>false];
|
|
|
+ }
|
|
|
+ $sign = $process->createSign($msg);
|
|
|
+ return ['success'=>true,'data'=>$sign];
|
|
|
+ }
|
|
|
+
|
|
|
+ //审核
|
|
|
+ function audit(Request $request){
|
|
|
+ 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];
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
@@ -602,6 +679,7 @@ class ProcessController extends Controller
|
|
|
*/
|
|
|
public function edit($id)
|
|
|
{
|
|
|
+ if(!Gate::allows('二次加工管理-编辑')){ return redirect(url('/')); }
|
|
|
$process=Process::with(['processesContents'=>function($query){
|
|
|
return $query->with(['commodity'=>function($query){
|
|
|
return $query->with('barcodes');
|
|
|
@@ -611,6 +689,15 @@ class ProcessController extends Controller
|
|
|
return view('process.edit',['process'=>$process,'processMethods'=>$processMethods]);
|
|
|
}
|
|
|
|
|
|
+ public function show($id){
|
|
|
+ $process=Process::with(['processesContents'=>function($query){
|
|
|
+ $query->with(['commodity'=>function($query){
|
|
|
+ $query->with('barcodes');
|
|
|
+ }]);
|
|
|
+ },'tutorials'])->find($id);
|
|
|
+ return view('process.show',compact('process'));
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* Update the specified resource in storage.
|
|
|
*
|
|
|
@@ -620,7 +707,7 @@ class ProcessController extends Controller
|
|
|
*/
|
|
|
public function update(Request $request, $id)
|
|
|
{
|
|
|
- if(!Gate::allows('二次加工管理-编辑')){ return redirect(url('/')); }
|
|
|
+ if(!Gate::allows('二次加工管理-编辑')){ return ['success'=>false,'data'=>'您无权进行该操作!']; }
|
|
|
$errors=$this->validatorProcess($request)->errors();
|
|
|
if (count($errors)>0)return ['error'=>$errors,'data'=>"process"];
|
|
|
$errors=[];
|
|
|
@@ -637,10 +724,10 @@ class ProcessController extends Controller
|
|
|
$process->unit_price=$request->input('unit_price');
|
|
|
$process->remark=$request->input('remark');
|
|
|
$process->amount=$request->input('amount');
|
|
|
- if ($process->status=='驳回')$process->status='待加工';
|
|
|
+ if ($process->status=='已驳回')$process->status='待接单';
|
|
|
$process->update();
|
|
|
+ $process->createOperatorLog('编辑');
|
|
|
}
|
|
|
- $this->log(__METHOD__,"编辑二次加工单".__FUNCTION__,json_encode($process),Auth::user()['id']);
|
|
|
$processContents=[];
|
|
|
foreach ($request->input('processContents') as $processContent){
|
|
|
$wmsCode_commoditySku=$processContent['wms_code'].'_'.$processContent['commodity_sku'].'_'.$processContent['type'];
|
|
|
@@ -650,6 +737,9 @@ class ProcessController extends Controller
|
|
|
if (count($processContents)>count($removeDuplicateProcessContents)){
|
|
|
return ['success'=>false,'data'=>'录入商品不可重复!'];
|
|
|
}else{
|
|
|
+ $ProcessesContents=ProcessesContent::where('process_id',$process->id)->get();
|
|
|
+ $ids=array_column($ProcessesContents->toArray(),'id');
|
|
|
+ Sign::where('signable_type','processes_contents')->whereIn('signable_id',$ids)->delete();
|
|
|
ProcessesContent::where('process_id',$process->id)->delete();
|
|
|
foreach ($request->input('processContents') as $processContent){
|
|
|
if ($processContent['addBtnShow'])continue;
|
|
|
@@ -662,13 +752,21 @@ class ProcessController extends Controller
|
|
|
]);
|
|
|
if ($processContent['type'])$processContentOne->type='成品单';
|
|
|
$processContentOne->save();
|
|
|
- $this->log(__METHOD__,"录入二次加工单内容单".__FUNCTION__,json_encode($processContentOne),Auth::user()['id']);
|
|
|
+ if (isset($processContent['is_update_commodity_name'])){
|
|
|
+ Sign::create([
|
|
|
+ 'signable_type'=>'processes_contents',
|
|
|
+ 'signable_id'=>$processContentOne->id,
|
|
|
+ 'field'=>'commodity_name',
|
|
|
+ 'mark'=>$processContent['commodity_name'],
|
|
|
+ ]);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
+ $this->log(__METHOD__,"编辑二次加工单_".__FUNCTION__,json_encode($request->input()),Auth::user()['id']);
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
- //删除二次加工内容单
|
|
|
+ //删除二次加工内容单 弃用,保留,改为全部提交后一次性验证,不在操作时就允许删除
|
|
|
public function deleteProcessContent($id){
|
|
|
if(!Gate::allows('二次加工管理-删除')){ return redirect(url('/')); }
|
|
|
$processContent=ProcessesContent::find($id);
|
|
|
@@ -679,42 +777,77 @@ class ProcessController extends Controller
|
|
|
|
|
|
//回滚二次加工单状态
|
|
|
function rollback(Request $request){
|
|
|
- if(!Gate::allows('二次加工管理-回滚')){ return redirect(url('/')); }
|
|
|
+ if(!Gate::allows('二次加工管理-回滚')){ return ['success'=>false,'data'=>'您无权进行该操作!']; }
|
|
|
if (!$request->id)return ['success'=>false];
|
|
|
$process=Process::find($request->id);
|
|
|
switch ($process->status){
|
|
|
+ case '待接单':
|
|
|
+ $process->status='待审核';break;
|
|
|
case '待加工':
|
|
|
$process->status='待接单';break;
|
|
|
- case '驳回':
|
|
|
- $process->status='待接单';break;
|
|
|
+ case '已驳回':
|
|
|
+ $process->status='待审核';break;
|
|
|
case '加工中':
|
|
|
$process->status='待接单';break;
|
|
|
case '待验收':
|
|
|
$process->status='加工中';break;
|
|
|
+ case '待交接':
|
|
|
+ $process->status='待验收';break;
|
|
|
}
|
|
|
$process->save();
|
|
|
+ $process->createOperatorLog('回滚');
|
|
|
+ $this->log(__METHOD__,"回滚二次加工单_".__FUNCTION__,json_encode($request->input()),Auth::user()['id']);
|
|
|
return ['success'=>true,'data'=>$process->status];
|
|
|
}
|
|
|
+ //加工完成
|
|
|
+ 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('加工完成');
|
|
|
+ $this->log(__METHOD__,"标记加工完成_".__FUNCTION__,json_encode($request->input()),Auth::user()['id']);
|
|
|
+ return ['success'=>true,'data'=>'待验收'];
|
|
|
+ }
|
|
|
+
|
|
|
+ //质量验收
|
|
|
+ function checkAndAccept(Request $request){
|
|
|
+
|
|
|
+ $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'=>'待交接'];
|
|
|
+ }
|
|
|
|
|
|
//回收站
|
|
|
function recycle(Request $request){
|
|
|
+ if(!Gate::allows('二次加工管理-删除')){ return redirect('/'); }
|
|
|
$processes=Process::onlyTrashed()->paginate($request->paginate??50);
|
|
|
return view('process.recycle',compact('processes'));
|
|
|
}
|
|
|
|
|
|
//回收站恢复
|
|
|
function recover(Request $request){
|
|
|
+ if(!Gate::allows('二次加工管理-删除')){ return redirect('/'); }
|
|
|
$checkData=$request->checkData;
|
|
|
+ $this->log(__METHOD__,"回收站恢复二次加工单_".__FUNCTION__,json_encode($request->input()),Auth::user()['id']);
|
|
|
return ['success'=>Process::withTrashed()->whereIn('id',$checkData)->restore()];
|
|
|
}
|
|
|
/**
|
|
|
* Remove the specified resource from storage.
|
|
|
- *
|
|
|
- * @param int $id
|
|
|
- * @return \Illuminate\Http\Response
|
|
|
+ * @param int $id
|
|
|
+ * @return array
|
|
|
*/
|
|
|
public function destroy($id)
|
|
|
{
|
|
|
+ if(!Gate::allows('二次加工管理-删除')){ return redirect('/'); }
|
|
|
+ $this->log(__METHOD__,"删除二次加工单进回收站_".__FUNCTION__,json_encode($id),Auth::user()['id']);
|
|
|
return ['success'=>Process::destroy($id)];
|
|
|
}
|
|
|
|