コード例 #1
0
ファイル: Employee.php プロジェクト: ThunderID/HRIS-API
 /**
  * auto generate nik
  *
  * 1. get organisationcode
  * 2. get join date
  * 3. get last nik order number
  * @param model of employee
  * @return $nik
  */
 public function generateNIK($employee)
 {
     //1. get organisationcode
     $code = $employee->organisation->code;
     //2. get join date
     $work = Work::personid($employee)->notchartid(0)->orderby('start', 'desc')->first();
     if ($work) {
         $join_year = $work->start;
     } else {
         $join_year = Carbon::now();
     }
     $nik = $code . $join_year->format('y') . '.';
     //3. get last nik order number
     $last_nik = Employee::selectraw('max(uniqid)')->where('uniqid', 'like', $nik . '%')->organisationid($employee->organisation_id)->first();
     if ($last_nik) {
         $number = 1 + (int) substr($last_nik['uniqid'], 6);
     } else {
         $number = 1;
     }
     return $nik . str_pad($number, 3, "0", STR_PAD_LEFT);
 }