|
@@ -19,51 +19,35 @@ class Performance extends AdminBaseController
|
|
|
|
|
|
|
|
public function match()
|
|
public function match()
|
|
|
{
|
|
{
|
|
|
- $old_file = input('old_file/s', "");
|
|
|
|
|
- if (!file_exists($old_file)) {
|
|
|
|
|
|
|
+ $file = input('file/s', "");
|
|
|
|
|
+ if (!file_exists($file)) {
|
|
|
return '绩效工资文件不存在';
|
|
return '绩效工资文件不存在';
|
|
|
}
|
|
}
|
|
|
- $new_file = input('new_file/s', "");
|
|
|
|
|
- if (!file_exists($new_file)) {
|
|
|
|
|
- return '绩效得分文件不存在';
|
|
|
|
|
- }
|
|
|
|
|
|
|
|
|
|
//初始化数据
|
|
//初始化数据
|
|
|
- $data1 = [
|
|
|
|
|
|
|
+ $data = [
|
|
|
'xuhao', 'xingming', 'zhiwei', 'bumen', 'jixiaogongzijishu',
|
|
'xuhao', 'xingming', 'zhiwei', 'bumen', 'jixiaogongzijishu',
|
|
|
'yingchuqin1', 'yingchuqin2', 'yingchuqin3',
|
|
'yingchuqin1', 'yingchuqin2', 'yingchuqin3',
|
|
|
'shichuqin1', 'shichuqin2', 'shichuqin3',
|
|
'shichuqin1', 'shichuqin2', 'shichuqin3',
|
|
|
|
|
+ 'jixiaofen1', 'jixiaofen2', 'jixiaofen3',
|
|
|
|
|
+// 'jixiaofen1', 'jixiaofen2', 'jixiaofen3',
|
|
|
];
|
|
];
|
|
|
- $data2 = ['xingming', 'defen1', 'defen2', 'defen3'];
|
|
|
|
|
- $old_list = import_exl_jixiao($old_file, $data1, 2);
|
|
|
|
|
- $new_list = import_exl_jixiao($new_file, $data2, 2);
|
|
|
|
|
|
|
+ $exl_list = import_exl_jixiao($file, $data, 2);
|
|
|
|
|
|
|
|
- if (empty($old_list)) {
|
|
|
|
|
|
|
+ if (empty($exl_list)) {
|
|
|
return '绩效工资文件无数据';
|
|
return '绩效工资文件无数据';
|
|
|
}
|
|
}
|
|
|
- if (empty($new_list)) {
|
|
|
|
|
- return '绩效得分文件无数据';
|
|
|
|
|
- }
|
|
|
|
|
- $old_list = $this->_dealArray($old_list);
|
|
|
|
|
- $new_list = $this->_dealArray($new_list);
|
|
|
|
|
|
|
|
|
|
- $scoreByName = [];
|
|
|
|
|
- foreach ($new_list as $v) {
|
|
|
|
|
- $scoreByName[$v['xingming']] = $v;
|
|
|
|
|
- }
|
|
|
|
|
$list = [];
|
|
$list = [];
|
|
|
- foreach ($old_list as $v) {
|
|
|
|
|
- if (empty($scoreByName[$v['xingming']])) {
|
|
|
|
|
- return $v['xingming'] . '在绩效得分表中未找到';
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ foreach ($exl_list as $v) {
|
|
|
$item = [];
|
|
$item = [];
|
|
|
$item['xuhao'] = $v['xuhao'];
|
|
$item['xuhao'] = $v['xuhao'];
|
|
|
$item['xingming'] = $v['xingming'];
|
|
$item['xingming'] = $v['xingming'];
|
|
|
$item['zhiwei'] = $v['zhiwei'];
|
|
$item['zhiwei'] = $v['zhiwei'];
|
|
|
$item['bumen'] = $v['bumen'];
|
|
$item['bumen'] = $v['bumen'];
|
|
|
- $item['jixiaofen1'] = $scoreByName[$v['xingming']]['defen1'];
|
|
|
|
|
- $item['jixiaofen2'] = $scoreByName[$v['xingming']]['defen2'];
|
|
|
|
|
- $item['jixiaofen3'] = $scoreByName[$v['xingming']]['defen3'];
|
|
|
|
|
|
|
+ $item['jixiaofen1'] = $v['jixiaofen1'];
|
|
|
|
|
+ $item['jixiaofen2'] = $v['jixiaofen2'];
|
|
|
|
|
+ $item['jixiaofen3'] = $v['jixiaofen3'];
|
|
|
$item['jixiaoxishu1'] = $item['jixiaofen1'] > 100 ? 1 : $item['jixiaofen1'] / 100;
|
|
$item['jixiaoxishu1'] = $item['jixiaofen1'] > 100 ? 1 : $item['jixiaofen1'] / 100;
|
|
|
$item['jixiaoxishu2'] = $item['jixiaofen2'] > 100 ? 1 : $item['jixiaofen2'] / 100;
|
|
$item['jixiaoxishu2'] = $item['jixiaofen2'] > 100 ? 1 : $item['jixiaofen2'] / 100;
|
|
|
$item['jixiaoxishu3'] = $item['jixiaofen3'] > 100 ? 1 : $item['jixiaofen3'] / 100;
|
|
$item['jixiaoxishu3'] = $item['jixiaofen3'] > 100 ? 1 : $item['jixiaofen3'] / 100;
|
|
@@ -84,8 +68,10 @@ class Performance extends AdminBaseController
|
|
|
$item['jixiaogongzi2'] = round($item['jixiaogongzijishu'] * $item['jixiaoxishu2'] * $chuqinlv2, 2);
|
|
$item['jixiaogongzi2'] = round($item['jixiaogongzijishu'] * $item['jixiaoxishu2'] * $chuqinlv2, 2);
|
|
|
$item['jixiaogongzi3'] = round($item['jixiaogongzijishu'] * $item['jixiaoxishu3'] * $chuqinlv3, 2);
|
|
$item['jixiaogongzi3'] = round($item['jixiaogongzijishu'] * $item['jixiaoxishu3'] * $chuqinlv3, 2);
|
|
|
$item['jixiaogongziheji'] = $item['jixiaogongzi1'] + $item['jixiaogongzi2'] + $item['jixiaogongzi3'];
|
|
$item['jixiaogongziheji'] = $item['jixiaogongzi1'] + $item['jixiaogongzi2'] + $item['jixiaogongzi3'];
|
|
|
- $item['yufagongzi1'] = $item['yufagongzi2'] = $item['yufagongzi3'] = $item['jixiaogongzijishu'] * 0.8;
|
|
|
|
|
- $item['yufagongziheji'] = $item['yufagongzi1'] * 3;
|
|
|
|
|
|
|
+ $item['yufagongzi1'] = round($item['jixiaogongzijishu'] * 0.8 * $chuqinlv1, 2);
|
|
|
|
|
+ $item['yufagongzi2'] = round($item['jixiaogongzijishu'] * 0.8 * $chuqinlv2, 2);
|
|
|
|
|
+ $item['yufagongzi3'] = round($item['jixiaogongzijishu'] * 0.8 * $chuqinlv3, 2);
|
|
|
|
|
+ $item['yufagongziheji'] = $item['yufagongzi1'] + $item['yufagongzi2'] + $item['yufagongzi3'];
|
|
|
$item['bufa'] = $item['jixiaogongziheji'] - $item['yufagongziheji'];
|
|
$item['bufa'] = $item['jixiaogongziheji'] - $item['yufagongziheji'];
|
|
|
$item['gonghui'] = round($item['bufa'] * 0.005, 2);
|
|
$item['gonghui'] = round($item['bufa'] * 0.005, 2);
|
|
|
$item['shifa'] = round($item['bufa'] - $item['gonghui'], 2);
|
|
$item['shifa'] = round($item['bufa'] - $item['gonghui'], 2);
|
|
@@ -116,109 +102,7 @@ class Performance extends AdminBaseController
|
|
|
['gonghui', '工会会费'],
|
|
['gonghui', '工会会费'],
|
|
|
['shifa', '实际补发绩效工资'],
|
|
['shifa', '实际补发绩效工资'],
|
|
|
];
|
|
];
|
|
|
- unlink($old_file);
|
|
|
|
|
- unlink($new_file);
|
|
|
|
|
- export_exl("绩效工资", $xlsCell, $list);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- public function match1()
|
|
|
|
|
- {
|
|
|
|
|
- $old_file = input('old_file/s', "");
|
|
|
|
|
- if (!file_exists($old_file)) {
|
|
|
|
|
- return '旧名单文件不存在';
|
|
|
|
|
- }
|
|
|
|
|
- $new_file = input('new_file/s', "");
|
|
|
|
|
- if (!file_exists($new_file)) {
|
|
|
|
|
- return '新名单文件不存在';
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- //初始化数据
|
|
|
|
|
- $data1 = [
|
|
|
|
|
- 'xuhao', 'xingming', 'zhiwei', 'bumen', 'jixiaofen1', 'jixiaofen2', 'jixiaofen3', 'jixiaoxishu1', 'jixiaoxishu2',
|
|
|
|
|
- 'jixiaoxishu3', 'jixiaogongzijishu', 'jixiaogongzi1', 'jixiaogongzi2', 'jixiaogongzi3', 'jixiaogongziheji',
|
|
|
|
|
- 'yufagongzi1', 'yufagongzi2', 'yufagongzi3', 'yufagongziheji',
|
|
|
|
|
- ];
|
|
|
|
|
- $data2 = [
|
|
|
|
|
- 'xuhao', 'bumen', 'xingming', 'afen1', 'afen2', 'afen3', 'ziping', 'bumen', 'fenguan', 'heyue', 'defen1', 'defen2', 'defen3',
|
|
|
|
|
- ];
|
|
|
|
|
- $old_list = import_exl_jixiao($old_file, $data1, 4);
|
|
|
|
|
- $new_list = import_exl_jixiao($new_file, $data2, 3);
|
|
|
|
|
-
|
|
|
|
|
- if (empty($old_list)) {
|
|
|
|
|
- return '旧名单文件无数据';
|
|
|
|
|
- }
|
|
|
|
|
- if (empty($new_list)) {
|
|
|
|
|
- return '新名单文件无数据';
|
|
|
|
|
- }
|
|
|
|
|
- $old_list = $this->_dealArray($old_list);
|
|
|
|
|
- $new_list = $this->_dealArray($new_list);
|
|
|
|
|
-
|
|
|
|
|
- $scoreByName = [];
|
|
|
|
|
- foreach ($new_list as $v) {
|
|
|
|
|
- $scoreByName[$v['xingming']] = $v;
|
|
|
|
|
- }
|
|
|
|
|
- $list = [];
|
|
|
|
|
- foreach ($old_list as $v) {
|
|
|
|
|
- if (empty($scoreByName[$v['xingming']])) {
|
|
|
|
|
- return $v['xingming'] . '在绩效得分表中未找到';
|
|
|
|
|
- }
|
|
|
|
|
- $v['jixiaofen1'] = $scoreByName[$v['xingming']]['defen1'];
|
|
|
|
|
- $v['jixiaofen2'] = $scoreByName[$v['xingming']]['defen2'];
|
|
|
|
|
- $v['jixiaofen3'] = $scoreByName[$v['xingming']]['defen3'];
|
|
|
|
|
- $v['jixiaoxishu1'] = $scoreByName[$v['xingming']]['defen1'] > 100 ? 1 : $scoreByName[$v['xingming']]['defen1'] / 100;
|
|
|
|
|
- $v['jixiaoxishu2'] = $scoreByName[$v['xingming']]['defen2'] > 100 ? 1 : $scoreByName[$v['xingming']]['defen2'] / 100;
|
|
|
|
|
- $v['jixiaoxishu3'] = $scoreByName[$v['xingming']]['defen3'] > 100 ? 1 : $scoreByName[$v['xingming']]['defen3'] / 100;
|
|
|
|
|
- $v['jixiaogongzi1'] = $v['jixiaogongzijishu'] * $v['jixiaoxishu1'];
|
|
|
|
|
- $v['jixiaogongzi2'] = $v['jixiaogongzijishu'] * $v['jixiaoxishu2'];
|
|
|
|
|
- $v['jixiaogongzi3'] = $v['jixiaogongzijishu'] * $v['jixiaoxishu3'];
|
|
|
|
|
- $v['jixiaogongziheji'] = $v['jixiaogongzi1'] + $v['jixiaogongzi2'] + $v['jixiaogongzi3'];
|
|
|
|
|
- $v['yufagongzi1'] = $v['jixiaogongzijishu'] * 0.8;
|
|
|
|
|
- $v['yufagongzi2'] = $v['jixiaogongzijishu'] * 0.8;
|
|
|
|
|
- $v['yufagongzi3'] = $v['jixiaogongzijishu'] * 0.8;
|
|
|
|
|
- $v['yufagongziheji'] = $v['yufagongzi1'] + $v['yufagongzi2'] + $v['yufagongzi3'];
|
|
|
|
|
- $v['bufa'] = $v['jixiaogongziheji'] - $v['yufagongziheji'];
|
|
|
|
|
- $v['gonghui'] = round($v['bufa'] * 0.005, 2);
|
|
|
|
|
- $v['shifa'] = round($v['bufa'] - $v['gonghui'], 2);
|
|
|
|
|
- $list[] = $v;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- $xlsCell = [
|
|
|
|
|
- ['xuhao', '序号'],
|
|
|
|
|
- ['xingming', '姓名'],
|
|
|
|
|
- ['zhiwei', '职位'],
|
|
|
|
|
- ['bumen', '部门'],
|
|
|
|
|
- ['jixiaofen1', '绩效得分第1月'],
|
|
|
|
|
- ['jixiaofen2', '绩效得分第2月'],
|
|
|
|
|
- ['jixiaofen3', '绩效得分第3月'],
|
|
|
|
|
- ['jixiaoxishu1', '绩效系数第1月'],
|
|
|
|
|
- ['jixiaoxishu2', '绩效系数第2月'],
|
|
|
|
|
- ['jixiaoxishu3', '绩效系数第3月'],
|
|
|
|
|
- ['jixiaogongzijishu', '绩效工资基数'],
|
|
|
|
|
- ['jixiaogongzi1', '绩效工资第1月'],
|
|
|
|
|
- ['jixiaogongzi2', '绩效工资第2月'],
|
|
|
|
|
- ['jixiaogongzi3', '绩效工资第3月'],
|
|
|
|
|
- ['jixiaogongziheji', '绩效工资合计'],
|
|
|
|
|
- ['yufagongzi1', '已预发工资第1月'],
|
|
|
|
|
- ['yufagongzi2', '已预发工资第2月'],
|
|
|
|
|
- ['yufagongzi3', '已预发工资第3月'],
|
|
|
|
|
- ['yufagongziheji', '已预发工资合计'],
|
|
|
|
|
- ['bufa', '应补发绩效工资'],
|
|
|
|
|
- ['gonghui', '工会会费'],
|
|
|
|
|
- ['shifa', '实际补发绩效工资'],
|
|
|
|
|
- ];
|
|
|
|
|
- unlink($old_file);
|
|
|
|
|
- unlink($new_file);
|
|
|
|
|
- export_exl("绩效工资", $xlsCell, $list);
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- private function _dealArray($arr)
|
|
|
|
|
- {
|
|
|
|
|
- $res = [];
|
|
|
|
|
- foreach ($arr as $v) {
|
|
|
|
|
- if (!empty($v['xingming'])) {
|
|
|
|
|
- $res[] = $v;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- return $res;
|
|
|
|
|
|
|
+ unlink($file);
|
|
|
|
|
+ export_exl("绩效工资", $xlsCell, $list,[],[10,10,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20]);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|