正在显示
9 个修改的文件
包含
51 行增加
和
17 行删除
@@ -60,7 +60,7 @@ class Factory extends Backend | @@ -60,7 +60,7 @@ class Factory extends Backend | ||
60 | ->paginate($limit); | 60 | ->paginate($limit); |
61 | 61 | ||
62 | foreach ($list as $row) { | 62 | foreach ($list as $row) { |
63 | - $row->visible(['id','factory_name','factory_shortname','factory_price','borrow_money','weigh']); | 63 | + $row->visible(['id','factory_name','factory_shortname','factory_price','borrow_money','work_subsidy','weigh']); |
64 | 64 | ||
65 | } | 65 | } |
66 | 66 |
@@ -6,6 +6,7 @@ return [ | @@ -6,6 +6,7 @@ return [ | ||
6 | 'Factory_shortname' => '工厂简称', | 6 | 'Factory_shortname' => '工厂简称', |
7 | 'Factory_price' => '工厂工价(元/时)', | 7 | 'Factory_price' => '工厂工价(元/时)', |
8 | 'Borrow_money' => '可借支金额', | 8 | 'Borrow_money' => '可借支金额', |
9 | + 'Work_subsidy' => '工时补贴价格(元/时)', | ||
9 | 'Createtime' => '创建时间', | 10 | 'Createtime' => '创建时间', |
10 | 'Updatetime' => '更新时间', | 11 | 'Updatetime' => '更新时间', |
11 | 'Weigh' => '权重' | 12 | 'Weigh' => '权重' |
@@ -25,6 +25,12 @@ | @@ -25,6 +25,12 @@ | ||
25 | </div> | 25 | </div> |
26 | </div> | 26 | </div> |
27 | <div class="form-group"> | 27 | <div class="form-group"> |
28 | + <label for="c-work_subsidy" class="control-label col-xs-12 col-sm-2">{:__('Work_subsidy')}:</label> | ||
29 | + <div class="col-xs-12 col-sm-8"> | ||
30 | + <input id="c-work_subsidy" data-rule="requird" class="form-control" name="row[work_subsidy]" type="number" value="0.00"> | ||
31 | + </div> | ||
32 | + </div> | ||
33 | + <div class="form-group"> | ||
28 | <label class="control-label col-xs-12 col-sm-2">{:__('Weigh')}:</label> | 34 | <label class="control-label col-xs-12 col-sm-2">{:__('Weigh')}:</label> |
29 | <div class="col-xs-12 col-sm-8"> | 35 | <div class="col-xs-12 col-sm-8"> |
30 | <input id="c-weigh" data-rule="required" class="form-control" name="row[weigh]" type="number" value="0"> | 36 | <input id="c-weigh" data-rule="required" class="form-control" name="row[weigh]" type="number" value="0"> |
@@ -25,6 +25,12 @@ | @@ -25,6 +25,12 @@ | ||
25 | </div> | 25 | </div> |
26 | </div> | 26 | </div> |
27 | <div class="form-group"> | 27 | <div class="form-group"> |
28 | + <label for="c-work_subsidy" class="control-label col-xs-12 col-sm-2">{:__('Work_subsidy')}:</label> | ||
29 | + <div class="col-xs-12 col-sm-8"> | ||
30 | + <input id="c-work_subsidy" data-rule="requird" class="form-control" name="row[work_subsidy]" type="number" value="{$row.work_subsidy|htmlentities}"> | ||
31 | + </div> | ||
32 | + </div> | ||
33 | + <div class="form-group"> | ||
28 | <label class="control-label col-xs-12 col-sm-2">{:__('Weigh')}:</label> | 34 | <label class="control-label col-xs-12 col-sm-2">{:__('Weigh')}:</label> |
29 | <div class="col-xs-12 col-sm-8"> | 35 | <div class="col-xs-12 col-sm-8"> |
30 | <input id="c-weigh" data-rule="required" class="form-control" name="row[weigh]" type="number" value="{$row.weigh|htmlentities}"> | 36 | <input id="c-weigh" data-rule="required" class="form-control" name="row[weigh]" type="number" value="{$row.weigh|htmlentities}"> |
@@ -57,12 +57,12 @@ | @@ -57,12 +57,12 @@ | ||
57 | {:build_radios('row[status]', ['normal'=>__('Normal'), 'hidden'=>__('拉黑')], $row['status'])} | 57 | {:build_radios('row[status]', ['normal'=>__('Normal'), 'hidden'=>__('拉黑')], $row['status'])} |
58 | </div> | 58 | </div> |
59 | </div> | 59 | </div> |
60 | - <div class="form-group"> | 60 | + <!--<div class="form-group"> |
61 | <label for="c-work_subsidy" class="control-label col-xs-12 col-sm-2">{:__('Work_subsidy')}:</label> | 61 | <label for="c-work_subsidy" class="control-label col-xs-12 col-sm-2">{:__('Work_subsidy')}:</label> |
62 | <div class="col-xs-12 col-sm-8"> | 62 | <div class="col-xs-12 col-sm-8"> |
63 | <input id="c-work_subsidy" data-rule="requird" class="form-control" name="row[work_subsidy]" type="number" value="{$row.work_subsidy|htmlentities}"> | 63 | <input id="c-work_subsidy" data-rule="requird" class="form-control" name="row[work_subsidy]" type="number" value="{$row.work_subsidy|htmlentities}"> |
64 | </div> | 64 | </div> |
65 | - </div> | 65 | + </div>--> |
66 | <div class="form-group"> | 66 | <div class="form-group"> |
67 | <label for="c-recruit_subsidy" class="control-label col-xs-12 col-sm-2">{:__('Recruit_subsidy')}:</label> | 67 | <label for="c-recruit_subsidy" class="control-label col-xs-12 col-sm-2">{:__('Recruit_subsidy')}:</label> |
68 | <div class="col-xs-12 col-sm-8"> | 68 | <div class="col-xs-12 col-sm-8"> |
@@ -126,7 +126,7 @@ class User extends Api | @@ -126,7 +126,7 @@ class User extends Api | ||
126 | $data = [ | 126 | $data = [ |
127 | 'work_hours_month' => $user['work_hours_month'], | 127 | 'work_hours_month' => $user['work_hours_month'], |
128 | 'work_salary_month' => $user['work_salary_month'], | 128 | 'work_salary_month' => $user['work_salary_month'], |
129 | - 'work_subsidy' => $user['work_subsidy'], | 129 | + 'work_subsidy' => ($user['is_work'] == '1' && $user['factory']) ? $user['factory']['work_subsidy'] : 0, |
130 | 'work_subsidy_month' => $user['work_subsidy_month'], | 130 | 'work_subsidy_month' => $user['work_subsidy_month'], |
131 | 'lower_work_hours_month' => $lower_work_hours_month, | 131 | 'lower_work_hours_month' => $lower_work_hours_month, |
132 | 'recruit_subsidy_month' => $user['recruit_subsidy_month'], | 132 | 'recruit_subsidy_month' => $user['recruit_subsidy_month'], |
@@ -964,15 +964,9 @@ class User extends Api | @@ -964,15 +964,9 @@ class User extends Api | ||
964 | ->where('work_type','in','1,2') | 964 | ->where('work_type','in','1,2') |
965 | ->whereTime('work_date','month') | 965 | ->whereTime('work_date','month') |
966 | ->sum('work_salary'); | 966 | ->sum('work_salary'); |
967 | - // 这个月的工时补贴和招聘补贴 | 967 | + // 记录入职打卡工厂 |
968 | if($user['is_work'] == '1' && !empty($user['factory'])){ | 968 | if($user['is_work'] == '1' && !empty($user['factory'])){ |
969 | - // 本月工时补贴增加 | ||
970 | - $update_data['work_subsidy_month'] = $user['work_subsidy_month'] + round($user['work_subsidy'] * $post['work_hours'],2); | ||
971 | - // 给上级返招聘补贴 | ||
972 | - $parent = $this->model->get($user['pid']); | ||
973 | - if($parent){ | ||
974 | - $parent->setInc('recruit_subsidy_month',round($user['recruit_subsidy']*$post['work_hours'],2)); | ||
975 | - } | 969 | + $log->isUpdate(true)->save(['factory_id'=>$user['factory']['id']]); |
976 | } | 970 | } |
977 | // 本月打卡次数 | 971 | // 本月打卡次数 |
978 | $update_data['log_days_month'] = UserWorkLog::where('user_id',$user['id']) | 972 | $update_data['log_days_month'] = UserWorkLog::where('user_id',$user['id']) |
@@ -1003,18 +997,27 @@ class User extends Api | @@ -1003,18 +997,27 @@ class User extends Api | ||
1003 | */ | 997 | */ |
1004 | private function salaryCalculate($log,$user){ | 998 | private function salaryCalculate($log,$user){ |
1005 | /*记录该月工时补贴和招聘补贴*/ | 999 | /*记录该月工时补贴和招聘补贴*/ |
1006 | - if($user['is_work'] == '1' && !empty($user['factory'])){ | 1000 | + if($log['factory_id']){ |
1007 | // 工时补贴 | 1001 | // 工时补贴 |
1008 | - UserWorkSubsidyLog::create([ | 1002 | + $find1 = UserWorkSubsidyLog::get(['user_work_log_id'=>$log['id']]); |
1003 | + if(!$find1){ | ||
1004 | + $find1 = new UserWorkSubsidyLog; | ||
1005 | + } | ||
1006 | + $work_subsidy = $log['factory'] ? $log['factory']['work_subsidy'] : 1; | ||
1007 | + $find1->save([ | ||
1009 | 'user_id' => $user['id'], | 1008 | 'user_id' => $user['id'], |
1010 | - 'work_subsidy' => round($user['work_subsidy'] * $log['work_hours'],2), | 1009 | + 'work_subsidy' => round($work_subsidy * $log['work_hours'],2), |
1011 | 'work_date' => $log['work_date'], | 1010 | 'work_date' => $log['work_date'], |
1012 | 'user_work_log_id' => $log['id'], | 1011 | 'user_work_log_id' => $log['id'], |
1013 | ]); | 1012 | ]); |
1014 | // 招聘补贴 | 1013 | // 招聘补贴 |
1015 | $parent = $this->model->get($user['pid']); | 1014 | $parent = $this->model->get($user['pid']); |
1016 | if($parent){ | 1015 | if($parent){ |
1017 | - UserRecruitSubsidyLog::create([ | 1016 | + $find2 = UserRecruitSubsidyLog::get(['user_work_log_id'=>$log['id']]); |
1017 | + if(!$find2){ | ||
1018 | + $find2 = new UserRecruitSubsidyLog; | ||
1019 | + } | ||
1020 | + $find2->save([ | ||
1018 | 'user_id' => $user['pid'], | 1021 | 'user_id' => $user['pid'], |
1019 | 'recruit_subsidy' => round($user['recruit_subsidy'] * $log['work_hours'],2), | 1022 | 'recruit_subsidy' => round($user['recruit_subsidy'] * $log['work_hours'],2), |
1020 | 'work_date' => $log['work_date'], | 1023 | 'work_date' => $log['work_date'], |
@@ -1048,6 +1051,18 @@ class User extends Api | @@ -1048,6 +1051,18 @@ class User extends Api | ||
1048 | 'salary' => round($work_salary_total + $work_subsidy_total + $recruit_subsidy_total,2), | 1051 | 'salary' => round($work_salary_total + $work_subsidy_total + $recruit_subsidy_total,2), |
1049 | 'year_month' => $year_month, | 1052 | 'year_month' => $year_month, |
1050 | ]); | 1053 | ]); |
1054 | + // 本月的工时补贴和招聘补贴 | ||
1055 | + if($user['is_work'] == '1' && !empty($user['factory']) && $year_month == date('Y-m')){ | ||
1056 | + // 本月工时补贴统计 | ||
1057 | + $user->isUpdate(true)->save(['work_subsidy_month'=>$work_subsidy_total]); | ||
1058 | + // 给上级返招聘补贴 | ||
1059 | + $parent = $this->model->get($user['pid']); | ||
1060 | + if($parent){ | ||
1061 | + $parent->save(['recruit_subsidy_month'=>UserRecruitSubsidyLog::where('user_id',$user['pid']) | ||
1062 | + ->where("work_date >= {$month_start} and work_date < {$month_end}") | ||
1063 | + ->sum('recruit_subsidy')]); | ||
1064 | + } | ||
1065 | + } | ||
1051 | return true; | 1066 | return true; |
1052 | } | 1067 | } |
1053 | 1068 |
@@ -12,4 +12,9 @@ class UserWorkLog extends Model | @@ -12,4 +12,9 @@ class UserWorkLog extends Model | ||
12 | // 定义时间戳字段名 | 12 | // 定义时间戳字段名 |
13 | protected $createTime = 'createtime'; | 13 | protected $createTime = 'createtime'; |
14 | protected $updateTime = 'updatetime'; | 14 | protected $updateTime = 'updatetime'; |
15 | + | ||
16 | + // 入职打卡工厂 | ||
17 | + public function factory(){ | ||
18 | + return $this->belongsTo('Factory')->field('id,factory_shortname'); | ||
19 | + } | ||
15 | } | 20 | } |
@@ -30,6 +30,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin | @@ -30,6 +30,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin | ||
30 | {field: 'factory_shortname', title: __('Factory_shortname'), operate: 'LIKE'}, | 30 | {field: 'factory_shortname', title: __('Factory_shortname'), operate: 'LIKE'}, |
31 | {field: 'factory_price', title: __('Factory_price'), operate:'BETWEEN'}, | 31 | {field: 'factory_price', title: __('Factory_price'), operate:'BETWEEN'}, |
32 | {field: 'borrow_money', title: __('Borrow_money'), operate:'BETWEEN'}, | 32 | {field: 'borrow_money', title: __('Borrow_money'), operate:'BETWEEN'}, |
33 | + {field: 'work_subsidy', title: __('Work_subsidy'), operate: false}, | ||
33 | {field: 'weigh', title: __('Weigh'), operate: false}, | 34 | {field: 'weigh', title: __('Weigh'), operate: false}, |
34 | //操作栏,默认有编辑、删除或排序按钮,可自定义配置buttons来扩展按钮 | 35 | //操作栏,默认有编辑、删除或排序按钮,可自定义配置buttons来扩展按钮 |
35 | { | 36 | { |
@@ -51,7 +51,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin | @@ -51,7 +51,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin | ||
51 | {field: 'log_days_month', title: __('本月打卡天数'), operate: false}, | 51 | {field: 'log_days_month', title: __('本月打卡天数'), operate: false}, |
52 | {field: 'work_hours_month', title: __('本月打卡工时'), operate: false}, | 52 | {field: 'work_hours_month', title: __('本月打卡工时'), operate: false}, |
53 | {field: 'is_complete', title: __('Is_complete'), formatter: Table.api.formatter.status, searchList: {0: __('否'), 1: __('是')}}, | 53 | {field: 'is_complete', title: __('Is_complete'), formatter: Table.api.formatter.status, searchList: {0: __('否'), 1: __('是')}}, |
54 | - {field: 'work_subsidy', title: __('Work_subsidy'), operate: false}, | 54 | + // {field: 'work_subsidy', title: __('Work_subsidy'), operate: false}, |
55 | {field: 'recruit_subsidy', title: __('Recruit_subsidy'), operate: false}, | 55 | {field: 'recruit_subsidy', title: __('Recruit_subsidy'), operate: false}, |
56 | {field: 'work_subsidy_month', title: __('Work_subsidy_month'), operate: false}, | 56 | {field: 'work_subsidy_month', title: __('Work_subsidy_month'), operate: false}, |
57 | {field: 'recruit_subsidy_month', title: __('Recruit_subsidy_month'), operate: false}, | 57 | {field: 'recruit_subsidy_month', title: __('Recruit_subsidy_month'), operate: false}, |
-
请 注册 或 登录 后发表评论