...
|
...
|
@@ -126,7 +126,7 @@ class User extends Api |
|
|
$data = [
|
|
|
'work_hours_month' => $user['work_hours_month'],
|
|
|
'work_salary_month' => $user['work_salary_month'],
|
|
|
'work_subsidy' => $user['work_subsidy'],
|
|
|
'work_subsidy' => ($user['is_work'] == '1' && $user['factory']) ? $user['factory']['work_subsidy'] : 0,
|
|
|
'work_subsidy_month' => $user['work_subsidy_month'],
|
|
|
'lower_work_hours_month' => $lower_work_hours_month,
|
|
|
'recruit_subsidy_month' => $user['recruit_subsidy_month'],
|
...
|
...
|
@@ -964,15 +964,9 @@ class User extends Api |
|
|
->where('work_type','in','1,2')
|
|
|
->whereTime('work_date','month')
|
|
|
->sum('work_salary');
|
|
|
// 这个月的工时补贴和招聘补贴
|
|
|
// 记录入职打卡工厂
|
|
|
if($user['is_work'] == '1' && !empty($user['factory'])){
|
|
|
// 本月工时补贴增加
|
|
|
$update_data['work_subsidy_month'] = $user['work_subsidy_month'] + round($user['work_subsidy'] * $post['work_hours'],2);
|
|
|
// 给上级返招聘补贴
|
|
|
$parent = $this->model->get($user['pid']);
|
|
|
if($parent){
|
|
|
$parent->setInc('recruit_subsidy_month',round($user['recruit_subsidy']*$post['work_hours'],2));
|
|
|
}
|
|
|
$log->isUpdate(true)->save(['factory_id'=>$user['factory']['id']]);
|
|
|
}
|
|
|
// 本月打卡次数
|
|
|
$update_data['log_days_month'] = UserWorkLog::where('user_id',$user['id'])
|
...
|
...
|
@@ -1003,18 +997,27 @@ class User extends Api |
|
|
*/
|
|
|
private function salaryCalculate($log,$user){
|
|
|
/*记录该月工时补贴和招聘补贴*/
|
|
|
if($user['is_work'] == '1' && !empty($user['factory'])){
|
|
|
if($log['factory_id']){
|
|
|
// 工时补贴
|
|
|
UserWorkSubsidyLog::create([
|
|
|
$find1 = UserWorkSubsidyLog::get(['user_work_log_id'=>$log['id']]);
|
|
|
if(!$find1){
|
|
|
$find1 = new UserWorkSubsidyLog;
|
|
|
}
|
|
|
$work_subsidy = $log['factory'] ? $log['factory']['work_subsidy'] : 1;
|
|
|
$find1->save([
|
|
|
'user_id' => $user['id'],
|
|
|
'work_subsidy' => round($user['work_subsidy'] * $log['work_hours'],2),
|
|
|
'work_subsidy' => round($work_subsidy * $log['work_hours'],2),
|
|
|
'work_date' => $log['work_date'],
|
|
|
'user_work_log_id' => $log['id'],
|
|
|
]);
|
|
|
// 招聘补贴
|
|
|
$parent = $this->model->get($user['pid']);
|
|
|
if($parent){
|
|
|
UserRecruitSubsidyLog::create([
|
|
|
$find2 = UserRecruitSubsidyLog::get(['user_work_log_id'=>$log['id']]);
|
|
|
if(!$find2){
|
|
|
$find2 = new UserRecruitSubsidyLog;
|
|
|
}
|
|
|
$find2->save([
|
|
|
'user_id' => $user['pid'],
|
|
|
'recruit_subsidy' => round($user['recruit_subsidy'] * $log['work_hours'],2),
|
|
|
'work_date' => $log['work_date'],
|
...
|
...
|
@@ -1048,6 +1051,18 @@ class User extends Api |
|
|
'salary' => round($work_salary_total + $work_subsidy_total + $recruit_subsidy_total,2),
|
|
|
'year_month' => $year_month,
|
|
|
]);
|
|
|
// 本月的工时补贴和招聘补贴
|
|
|
if($user['is_work'] == '1' && !empty($user['factory']) && $year_month == date('Y-m')){
|
|
|
// 本月工时补贴统计
|
|
|
$user->isUpdate(true)->save(['work_subsidy_month'=>$work_subsidy_total]);
|
|
|
// 给上级返招聘补贴
|
|
|
$parent = $this->model->get($user['pid']);
|
|
|
if($parent){
|
|
|
$parent->save(['recruit_subsidy_month'=>UserRecruitSubsidyLog::where('user_id',$user['pid'])
|
|
|
->where("work_date >= {$month_start} and work_date < {$month_end}")
|
|
|
->sum('recruit_subsidy')]);
|
|
|
}
|
|
|
}
|
|
|
return true;
|
|
|
}
|
|
|
|
...
|
...
|
|