コード例 #1
0
ファイル: TimelogController.php プロジェクト: jrsalunga/gi-tk
 public function post(Request $request)
 {
     $rules = array('datetime' => 'required', 'txncode' => 'required', 'entrytype' => 'required');
     $validator = Validator::make($request->all(), $rules);
     if ($validator->fails()) {
         $respone = array('code' => '400', 'status' => 'error', 'message' => 'Error on validation');
     } else {
         $employee = Employee::with('branch')->where('rfid', '=', $request->input('rfid'))->get();
         if (!isset($employee[0])) {
             // employee does not exist having the RFID submitted
             $respone = array('code' => '401', 'status' => 'error', 'message' => 'Invalid RFID: ' . $request->input('rfid'), 'data' => '');
         } else {
             $timelog = new Timelog();
             //$timelog->employeeid	= $request->get('employeeid');
             $timelog->employeeid = $employee[0]->id;
             $timelog->datetime = $request->input('datetime');
             $timelog->txncode = $request->input('txncode');
             $timelog->entrytype = $request->input('entrytype');
             //$timelog->terminalid 	= $request->get('terminalid');
             $timelog->terminal = gethostname();
             $timelog->id = strtoupper(Timelog::get_uid());
             if ($timelog->save()) {
                 $respone = array('code' => '200', 'status' => 'success', 'message' => 'Record saved!');
                 $datetime = explode(' ', $timelog->datetime);
                 $txncode = $timelog->txncode == 'to' ? 'Time Out' : 'Time In';
                 $data = array('empno' => $employee[0]->code, 'lastname' => $employee[0]->lastname, 'firstname' => $employee[0]->firstname, 'middlename' => $employee[0]->middlename, 'position' => $employee[0]->position, 'date' => $datetime[0], 'time' => $datetime[1], 'txncode' => $timelog->txncode, 'txnname' => $txncode, 'branch' => $employee[0]->branch->code, 'timelogid' => $timelog->id);
                 $respone['data'] = $data;
             } else {
                 $respone = array('code' => '400', 'status' => 'error', 'message' => 'Error on saving locally!');
             }
         }
     }
     return json_encode($respone);
 }
コード例 #2
0
 public function makeEditView(Request $request, $id)
 {
     //$branches = Branch::orderBy('code')->get();
     $employee = Employee::with(['branch' => function ($query) {
         $query->select('code', 'descriptor', 'addr1', 'id');
     }])->where('id', $id)->get()->first();
     return view('masterfiles.employee.edit')->with('employee', $employee)->with('branches', $this->branches);
 }
コード例 #3
0
 private function empGrpByDept()
 {
     $depts = [['name' => 'Dining', 'employees' => [], 'deptid' => ['75B34178674011E596ECDA40B3C0AA12', '201E68D4674111E596ECDA40B3C0AA12']], ['name' => 'Kitchen', 'employees' => [], 'deptid' => ['71B0A2D2674011E596ECDA40B3C0AA12']]];
     for ($i = 0; $i <= 1; $i++) {
         $employees = Employee::with('position')->select('lastname', 'firstname', 'positionid', 'employee.id')->join('position', 'position.id', '=', 'employee.positionid')->where('branchid', $this->branchid)->whereIn('deptid', $depts[$i]['deptid'])->orderBy('position.ordinal', 'ASC')->get();
         $depts[$i]['employees'] = $employees;
     }
     return $depts;
 }
コード例 #4
0
 public function getByField($field, $value)
 {
     $employee = Employee::with('position')->where($field, '=', $value)->first();
     if ($employee) {
         $respone = array('code' => '200', 'status' => 'success', 'message' => 'Hello ' . $employee->firstname . '=)', 'data' => $employee->toArray());
     } else {
         $respone = array('code' => '404', 'status' => 'danger', 'message' => 'Invalid RFID! Record no found.', 'data' => '');
     }
     return $respone;
 }
コード例 #5
0
 /**
  * Get the validation rules that apply to the request.
  *
  * @return array
  */
 public function rules()
 {
     $rules = ['id_number' => 'required|numeric', 'email' => 'required|email|unique:users,email', 'first_name' => 'required|max:255', 'middle_name' => 'max:255', 'last_name' => 'required|max:255', 'sex' => 'required|in:Male,Female', 'birthday' => 'required|date', 'shift_id' => 'required|numeric', 'group_id' => 'required|numeric'];
     // update mode
     $e = Employee::with('user')->find(Input::get('empId'));
     if ($e && $e->user) {
         $rules['email'] = $rules['email'] . ',' . $e->user->id;
     }
     return $rules;
 }
コード例 #6
0
 /**
  * Just dump a json of an object.
  *
  * @param $id
  *
  * @return mixed
  */
 public function show($id)
 {
     return Employee::with('addresses', 'courses')->findOrFail($id);
 }
コード例 #7
0
 function save(array $params)
 {
     $response = new ResponseEntity();
     DB::transaction(function () use(&$response, $params) {
         $empId = isset($params['empId']) ? intval($params['empId']) : 0;
         $idNumber = Config::get('hris_system.employee_id_prefix') . $params['id_number'];
         $existingEmp = Employee::with('user')->find($empId);
         // check for duplicate id_number
         $tempEmp = Employee::where('id_number', '=', $idNumber)->first();
         if ($tempEmp) {
             if (!$existingEmp) {
                 // new
                 $response->setMessages(['id_number' => ['Id number is already taken']]);
                 return $response;
             } else {
                 if ($existingEmp && $existingEmp->id != $tempEmp->id) {
                     // update
                     $response->setMessages(['id_number' => ['Id number is already taken']]);
                     return $response;
                 }
             }
         }
         if ($empId > 0 && !$existingEmp) {
             // check when updating
             $response->setMessages(['Employee is not available!']);
             return $response;
         } else {
             // employee user account
             $user = $existingEmp ? $existingEmp->user : new User();
             $user->email = $params['email'];
             if (!$existingEmp) {
                 // for new employee user account
                 $user->password = Hash::make($idNumber);
                 //default password is the ID Number of the employee
                 $user->active = '1';
             }
             $user->save();
             // clear user group
             UserGroup::where('user_id', $user->id)->delete();
             // assign group
             $ug = new UserGroup();
             $ug->user_id = $user->id;
             $ug->group_id = $params['group_id'];
             $ug->save();
             // employee records
             $employee = $existingEmp ? $existingEmp : new Employee();
             $employee->user_id = $user->id;
             $employee->id_number = $idNumber;
             $employee->first_name = $params['first_name'];
             $employee->last_name = $params['last_name'];
             if (isset($params['middle_name'])) {
                 $employee->middle_name = $params['middle_name'];
             }
             if (isset($params['supervisor_id'])) {
                 $employee->supervisor_id = $params['supervisor_id'];
             }
             $employee->sex = $params['sex'];
             $employee->birthday = Carbon::createFromFormat('m/d/Y', $params['birthday']);
             $employee->shift_id = $params['shift_id'];
             $employee->active = $existingEmp ? $existingEmp->active : '1';
             $ok = $employee->save();
             if ($ok) {
                 $response->setSuccess(true);
                 $response->setData(['empId' => $employee->id]);
                 $response->setMessages(['Employee successfully ' . ($existingEmp ? 'saved' : 'created')]);
             } else {
                 $response->setMessages(['Failed to ' . ($existingEmp ? 'save' : 'create') . ' employee!']);
             }
         }
     });
     return $response;
 }
コード例 #8
0
ファイル: EmployeesController.php プロジェクト: saj696/pipe
 public function index()
 {
     $status = Config::get('common.status');
     $employees = Employee::with('designation')->latest()->paginate(Config::get('common.pagination'));
     return view('employees.index', compact('employees', 'status'));
 }
コード例 #9
0
 /**
  * Process datatables ajax request.
  *
  * @return \Illuminate\Http\JsonResponse
  */
 public function anyData()
 {
     return Datatables::of(Employee::with(['position', 'branch'])->select('*'))->make(true);
 }
コード例 #10
0
 function findById($id)
 {
     return Employee::with('user', 'shift')->find($id);
 }
コード例 #11
-1
 public function byDepartment(Request $request)
 {
     $department = new Department();
     $d1 = array_flatten($department->whereNotIn('code', ['KIT'])->orderBy('code', 'DESC')->get(['id'])->toArray());
     $depts = [['name' => 'Dining', 'employees' => [], 'deptid' => $d1], ['name' => 'Kitchen', 'employees' => [], 'deptid' => ['71B0A2D2674011E596ECDA40B3C0AA12']]];
     for ($i = 0; $i <= 1; $i++) {
         $employees = Employee::with('position')->select('lastname', 'firstname', 'positionid', 'employee.id')->join('position', 'position.id', '=', 'employee.positionid')->where('branchid', $request->user()->branchid)->whereIn('deptid', $depts[$i]['deptid'])->orderBy('employee.lastname', 'ASC')->orderBy('employee.firstname', 'ASC')->get();
         $depts[$i]['employees'] = $employees;
     }
     return $depts;
 }