|
@@ -296,8 +296,6 @@ class ProcessController extends Controller
|
|
|
$processDaily->update();
|
|
$processDaily->update();
|
|
|
$result=$this->countRemains($processDaily);
|
|
$result=$this->countRemains($processDaily);
|
|
|
$processDailies=$result['processDailies'];
|
|
$processDailies=$result['processDailies'];
|
|
|
- //$remain=$this->countRemain($processDaily);
|
|
|
|
|
- //$processDaily->remain=$remain;
|
|
|
|
|
$this->log(__METHOD__,"修改当日产量".__FUNCTION__,json_encode($processDaily),Auth::user()['id']);
|
|
$this->log(__METHOD__,"修改当日产量".__FUNCTION__,json_encode($processDaily),Auth::user()['id']);
|
|
|
$response=[];
|
|
$response=[];
|
|
|
$response['status']='success';
|
|
$response['status']='success';
|
|
@@ -349,18 +347,6 @@ class ProcessController extends Controller
|
|
|
}
|
|
}
|
|
|
return $process_id;
|
|
return $process_id;
|
|
|
}
|
|
}
|
|
|
- /*//计算当日剩余 根据日期
|
|
|
|
|
- public function countRemain($processDaily){
|
|
|
|
|
- if (!$processDaily || !$processDaily->process) return;
|
|
|
|
|
- $processDailies=ProcessDaily::where('process_id',$processDaily->process_id)
|
|
|
|
|
- ->where('date','<=',$processDaily->date)->get();
|
|
|
|
|
- $sum=0;
|
|
|
|
|
- foreach ($processDailies as $processDaily){
|
|
|
|
|
- $sum=$sum+($processDaily->output);
|
|
|
|
|
- }
|
|
|
|
|
- return ($processDaily->process->amount)-$sum;
|
|
|
|
|
- }*/
|
|
|
|
|
- //添加参与人
|
|
|
|
|
public function shortProcessDailyParticipant(Request $request){
|
|
public function shortProcessDailyParticipant(Request $request){
|
|
|
if(!Gate::allows('二次加工管理-登记工时')){ return redirect(url('/')); }
|
|
if(!Gate::allows('二次加工管理-登记工时')){ return redirect(url('/')); }
|
|
|
$errors=$this->validatorProcessDailyParticipant($request)->errors();
|
|
$errors=$this->validatorProcessDailyParticipant($request)->errors();
|
|
@@ -457,7 +443,7 @@ class ProcessController extends Controller
|
|
|
}
|
|
}
|
|
|
//参与人审核
|
|
//参与人审核
|
|
|
public function processDailyParticipantAudit($id){
|
|
public function processDailyParticipantAudit($id){
|
|
|
- if(!Gate::allows('二次加工管理-登记工时-审核')){ return redirect(url('/')); }
|
|
|
|
|
|
|
+ if(!Gate::allows('人事管理-任务审核')){ return redirect(url('/')); }
|
|
|
$processDailyParticipant=ProcessDailyParticipant::select('id','status')->find($id);
|
|
$processDailyParticipant=ProcessDailyParticipant::select('id','status')->find($id);
|
|
|
if (!$processDailyParticipant) return ['success'=>false];
|
|
if (!$processDailyParticipant) return ['success'=>false];
|
|
|
$processDailyParticipant->status='已审核';
|
|
$processDailyParticipant->status='已审核';
|
|
@@ -522,129 +508,6 @@ class ProcessController extends Controller
|
|
|
return $tutorials;
|
|
return $tutorials;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- //考勤
|
|
|
|
|
- public function createReplenishClock(){
|
|
|
|
|
- return view('process/checking-in/createReplenishClock');
|
|
|
|
|
- }
|
|
|
|
|
- //搜索临时工下打卡信息
|
|
|
|
|
- public function checkUserLabors(Request $request){
|
|
|
|
|
- $full_name=$request->input('full_name');
|
|
|
|
|
- $userDetail=UserDetail::with(['userDutyChecks'=>function ($query){
|
|
|
|
|
- return $query->orderBy('checked_at','DESC')->limit(5);
|
|
|
|
|
- }])->where('full_name',$full_name)->get();
|
|
|
|
|
- return ['success'=>true,'data'=>$userDetail];
|
|
|
|
|
- }
|
|
|
|
|
- //录入补卡
|
|
|
|
|
- public function storeReplenishClock(Request $request){
|
|
|
|
|
- $errors=$this->validatorUserDutyCheck($request)->errors();
|
|
|
|
|
- if (count($errors)>0)return ['success'=>false,'data'=>$errors];
|
|
|
|
|
- $user_id=$request->input('user_id');
|
|
|
|
|
- $checked_at=$request->input('checked_at');
|
|
|
|
|
- $type=$request->input('type');
|
|
|
|
|
- $userDutyCheck=new UserDutyCheck([
|
|
|
|
|
- 'user_id'=>$user_id,
|
|
|
|
|
- 'checked_at'=>$checked_at,
|
|
|
|
|
- 'type'=>$type,
|
|
|
|
|
- 'source'=>'补入',
|
|
|
|
|
- ]);
|
|
|
|
|
- $userDutyCheck->save();
|
|
|
|
|
- $this->log(__METHOD__,"录入补卡".__FUNCTION__,json_encode($userDutyCheck),Auth::user()['id']);
|
|
|
|
|
- return ['success'=>true,'data'=>$userDutyCheck];
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- //去往打卡审核
|
|
|
|
|
- public function clockAudit(){
|
|
|
|
|
- $date=date('Y-m-d');
|
|
|
|
|
- $userDutyChecks=UserDutyCheck::with('userDetail')->where('checked_at','like',$date."%")->get();
|
|
|
|
|
- return view('process/checking-in/clockAudit',['userDutyChecks'=>$userDutyChecks]);
|
|
|
|
|
- }
|
|
|
|
|
- //打卡审核
|
|
|
|
|
- public function storeClockAudit(Request $request){
|
|
|
|
|
- $id=$request->input('id');
|
|
|
|
|
- $type=$request->input('type');
|
|
|
|
|
- $userDutyCheck=UserDutyCheck::find($id);
|
|
|
|
|
- $userDutyCheck->type=$type;
|
|
|
|
|
- $userDutyCheck->verify_user_id=Auth::user()['id'];
|
|
|
|
|
- $userDutyCheck->update();
|
|
|
|
|
- $this->log(__METHOD__,"打卡审核".__FUNCTION__,json_encode($userDutyCheck),Auth::user()['id']);
|
|
|
|
|
- return $userDutyCheck->verify_user_id;
|
|
|
|
|
- }
|
|
|
|
|
- //打卡审核时判断是否异常
|
|
|
|
|
- public function isException(Request $request){
|
|
|
|
|
- $id=$request->input('id');
|
|
|
|
|
- $checked_at=$request->input('checked_at');
|
|
|
|
|
- $type=$request->input('type');
|
|
|
|
|
- $user_id=$request->input('user_id');
|
|
|
|
|
- if (!$id || !$checked_at || !$type || !$user_id)return ['exception'=>'数据异常!','duration_man_hour'=>''];
|
|
|
|
|
- $userDutyCheck=UserDutyCheck::where('user_id',$user_id)->where('checked_at','<',$checked_at)->first();
|
|
|
|
|
- if (!$userDutyCheck)return ['exception'=>'','duration_man_hour'=>''];
|
|
|
|
|
- $dateStart=Carbon::parse($userDutyCheck->checked_at);
|
|
|
|
|
- $dateEnd=Carbon::parse($checked_at);
|
|
|
|
|
- $minute=($dateEnd->diffInMinutes($dateStart));
|
|
|
|
|
- if ($type=="登入"&&$userDutyCheck->type=="登入"&&$minute>30){
|
|
|
|
|
- return ['exception'=>'无出场纪录!','duration_man_hour'=>''];
|
|
|
|
|
- }
|
|
|
|
|
- if ($type=="登出"&&$userDutyCheck->type=="登出"&&$minute>30){
|
|
|
|
|
- return ['exception'=>'无入场纪录!','duration_man_hour'=>''];
|
|
|
|
|
- }
|
|
|
|
|
- if ($type=="登出"&&$userDutyCheck->type=="登入"&&$minute>=720){
|
|
|
|
|
- return ['exception'=>'时间异常!','duration_man_hour'=>''];
|
|
|
|
|
- }
|
|
|
|
|
- if ($type=="登出"&&$userDutyCheck->type=="登入"){
|
|
|
|
|
- return ['exception'=>'','duration_man_hour'=>$minute/60];
|
|
|
|
|
- }
|
|
|
|
|
- return ['exception'=>'','duration_man_hour'=>''];
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- //去往任务审核
|
|
|
|
|
- public function missionAudit(Request $request){
|
|
|
|
|
- $processDailyParticipants=ProcessDailyParticipant::with(['processDaily','user_detail'])
|
|
|
|
|
- ->orderBy('id','DESC');
|
|
|
|
|
- $start_date=$request->input('start_date');
|
|
|
|
|
- $end_date=$request->input('end_date');
|
|
|
|
|
- $full_name=$request->input('full_name');
|
|
|
|
|
- $mobile_phone=$request->input('mobile_phone');
|
|
|
|
|
- if ($start_date) {
|
|
|
|
|
- $processDailyParticipants->whereHas('processDaily',function (Builder $builder)use($start_date){
|
|
|
|
|
- $builder->where('date','>=',$start_date);
|
|
|
|
|
- });
|
|
|
|
|
- }
|
|
|
|
|
- if ($end_date) {
|
|
|
|
|
- $processDailyParticipants->whereHas('processDaily',function (Builder $builder)use($end_date){
|
|
|
|
|
- $builder->where('date','<=',$end_date);
|
|
|
|
|
- });
|
|
|
|
|
- }
|
|
|
|
|
- if ($full_name){
|
|
|
|
|
- $processDailyParticipants->whereHas('user_detail',function (Builder $builder)use($full_name){
|
|
|
|
|
- $builder->where('full_name',$full_name);
|
|
|
|
|
- });
|
|
|
|
|
- }
|
|
|
|
|
- if ($mobile_phone){
|
|
|
|
|
- $processDailyParticipants->whereHas('user_detail',function (Builder $builder)use($mobile_phone){
|
|
|
|
|
- $builder->where('mobile_phone',$mobile_phone);
|
|
|
|
|
- });
|
|
|
|
|
- }
|
|
|
|
|
- $processDailyParticipants=$processDailyParticipants->paginate($request->input('paginate')?$request->input('paginate'):50);
|
|
|
|
|
- foreach ($processDailyParticipants as $processDailyParticipant){
|
|
|
|
|
- if ($processDailyParticipant->processDaily){
|
|
|
|
|
- $processDailyParticipant=$this->countParticipantManHour($processDailyParticipant,$processDailyParticipant->processDaily->date);
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- return view('process/checking-in/missionAudit',['processDailyParticipants'=>$processDailyParticipants,'request'=>$request->input()]);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- //任务审核
|
|
|
|
|
- public function storeMissionAudit(Request $request){
|
|
|
|
|
- $id=$request->input('id');
|
|
|
|
|
- if (!$id)return ['error'=>'提交审核失败!'];
|
|
|
|
|
- $processDailyParticipant=ProcessDailyParticipant::find($id);
|
|
|
|
|
- if (!$id)return ['error'=>'未找到对应记录!'];
|
|
|
|
|
- $processDailyParticipant->status='已审核';
|
|
|
|
|
- $processDailyParticipant->update();
|
|
|
|
|
- $this->log(__METHOD__,"任务审核".__FUNCTION__,json_encode($processDailyParticipant),Auth::user()['id']);
|
|
|
|
|
- return;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
public function store(Request $request)
|
|
public function store(Request $request)
|
|
|
{
|
|
{
|
|
|
if(!Gate::allows('二次加工管理-录入')){ return redirect(url('/')); }
|
|
if(!Gate::allows('二次加工管理-录入')){ return redirect(url('/')); }
|
|
@@ -917,17 +780,6 @@ class ProcessController extends Controller
|
|
|
return $validator;
|
|
return $validator;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- public function validatorUserDutyCheck(Request $request){
|
|
|
|
|
- $validator=Validator::make($request->input(),[
|
|
|
|
|
- 'user_id'=>'required',
|
|
|
|
|
- 'checked_at'=>'required|date_format:Y-m-d H:i',
|
|
|
|
|
- 'type'=>'required',
|
|
|
|
|
- ],[
|
|
|
|
|
- 'date_format'=>':attribute 格式错误',
|
|
|
|
|
- ],['checked_at'=>'日期']);
|
|
|
|
|
- return $validator;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
//参与人信息校验
|
|
//参与人信息校验
|
|
|
public function validatorProcessDailyParticipant(Request $request){
|
|
public function validatorProcessDailyParticipant(Request $request){
|
|
|
$validator=Validator::make($request->input(),[
|
|
$validator=Validator::make($request->input(),[
|