应用Laravel 5.5的半天人力资源管理

时间:2018-06-05 05:58:53

标签: html laravel

我正在创建一个Laravel项目,该项目是休假应用程序模块上的人力资源管理(HRM)应用程序。我被困在需要计算半天叶子的地方,无论是上午休假还是下午休假。我如何创建条件让员工选择申请半天上午或下午。我已完成休假申请全天(1.0天)和几天工作。我只需要为选择AM和PM做条件,值是(0.5天)。我怎么能这样做?

这是我的控制器,我为全日休假申请做了条件。

 //method controller to calculate different between date
 
   public static function countDiffDays($start_date, $end_date)
    {
        $leave_from=date('Y-m-d', strtotime($start_date));
        $leave_to=date('Y-m-d', strtotime($end_date));


        $datediff = strtotime($leave_to) - strtotime($leave_from);

        $daycount = round($datediff / (60 * 60 * 24));

        return $daycount;

    }
 
 
 
 
 //condition for full day leave application//
 
 public function postNewLeave(Request $request)
    {
        $v = \Validator::make($request->all(), [
            'leave_type' => 'required', 'leave_from' => 'required', 'leave_to' => 'required'
        ]);

        if ($v->fails()) {
            return redirect('employee/leave')->withErrors($v->errors());
        }

        // request data date from view
        $leave_from=date('Y-m-d', strtotime($request->leave_from));
        $leave_to=date('Y-m-d', strtotime($request->leave_to));

        //count date difference from static method above
        $dayTaken = self::countDiffDays($request->leave_from, $request->leave_to );

        $lt = $request->leave_type;

        $ltModel = LeaveType::where('id',$lt)->get()->first();

        $getLeave = LeaveEmployee::where([['emp_id',auth()->user()->id],['ltype_id', $lt]])->get()->first();

        if($getLeave == false){

            $dayLeft = $ltModel->leave_quota - $dayTaken;

        }else{

            $dayLeft = $getLeave->remaining_leave - $dayTaken;

        }

        if(LeaveEmployee::where([['emp_id',auth()->user()->id],['ltype_id', $lt]])->exists() == true){

            // If row exist just update

            $getLeave->remaining_leave = $dayLeft;
            $getLeave->save();

            // Create a new row in sys_leave table

            Leave::create([

                'emp_id' => auth()->user()->id,
                'leave_from' => $leave_from,
                'leave_to' => $leave_to,
                'ltype_id' => $request->leave_type,
                'applied_on' => date('Y-m-d'),
                'leave_reason' => $request->leave_reason,
                'status' => 'pending',
                'credit' => $request->credit

            ]);

        }else{ // If not exist create a new row

            Leave::create([

                'emp_id' => auth()->user()->id,
                'leave_from' => $leave_from,
                'leave_to' => $leave_to,
                'ltype_id' => $request->leave_type,
                'applied_on' => date('Y-m-d'),
                'leave_reason' => $request->leave_reason,
                'status' => 'pending',
                'credit' => $request->credit

            ]);

            LeaveEmployee::create([

                'emp_id' => auth()->user()->id,
                'ltype_id' => $request->leave_type,
                'remaining_leave' => $dayLeft

            ]);
        }





        return redirect('employee/leave')->with([
            'message' => language_data('Leave Request Send Successfully')
        ]);
    }

这是我对leave.blade.php。This is an example feature on other HRM to apply for Full day, AM and PM options.

的看法

            <div class="modal fade" id="new-leave" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
                <div class="modal-dialog" role="document">
                    <div class="modal-content">
                        <div class="modal-header">
                            <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                            <h4 class="modal-title" id="myModalLabel">{{language_data('Request For New Leave')}}</h4>
                        </div>
                        <form class="form-some-up" role="form" method="post" action="{{url('employee/leave/post-new-leave')}}">

                            <div class="modal-body">

                                <div class="form-group">
                                    <label>{{language_data('Leave Type')}}</label>
                                    <select name="leave_type" id="e20" class="form-control selectpicker" data-live-search="true">
                                        @foreach($leave_type as $lt)
                                            <option value="{{$lt->id}}">{{$lt->leave}}</option>
                                        @endforeach
                                    </select>
                                </div>


                                <div class="form-group">
                                    <label>{{language_data('Leave From')}}</label>
                                    <input type="text" class="form-control datePicker" name="leave_from" required="">
                                </div>

                                <div class="form-group">
                                    <label>{{language_data('Leave To')}}</label>
                                    <input type="text" class="form-control datePicker" name="leave_to" required="">
                                </div>


                                <div class="form-group">
                                    <label>{{language_data('Leave Reason')}}</label>
                                    <textarea class="textarea-wysihtml5 form-control" name="leave_reason"></textarea>
                                </div>


                            </div>
                            <div class="modal-footer">
                                <input type="hidden" name="_token" value="{{csrf_token()}}">
                                <button type="button" class="btn btn-default" data-dismiss="modal">{{language_data('Close')}}</button>
                                <button type="submit" class="btn btn-primary">{{language_data('Send')}}</button>
                            </div>
                        </form>
                    </div>
                </div>
            </div>

0 个答案:

没有答案