Performance.php 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. <?php
  2. namespace app\admin\controller;
  3. use app\admin\AdminBaseController;
  4. class Performance extends AdminBaseController
  5. {
  6. public function index()
  7. {
  8. return view();
  9. }
  10. public function import()
  11. {
  12. return view();
  13. }
  14. public function match()
  15. {
  16. $file = input('file/s', "");
  17. if (!file_exists($file)) {
  18. return '绩效工资文件不存在';
  19. }
  20. //初始化数据
  21. $data = [
  22. 'xuhao', 'xingming', 'zhiwei', 'bumen', 'jixiaogongzijishu',
  23. 'yingchuqin1', 'yingchuqin2', 'yingchuqin3',
  24. 'shichuqin1', 'shichuqin2', 'shichuqin3',
  25. 'jixiaofen1', 'jixiaofen2', 'jixiaofen3',
  26. // 'jixiaofen1', 'jixiaofen2', 'jixiaofen3',
  27. ];
  28. $exl_list = import_exl_jixiao($file, $data, 2);
  29. if (empty($exl_list)) {
  30. return '绩效工资文件无数据';
  31. }
  32. $list = [];
  33. foreach ($exl_list as $v) {
  34. $item = [];
  35. $item['xuhao'] = $v['xuhao'];
  36. $item['xingming'] = $v['xingming'];
  37. $item['zhiwei'] = $v['zhiwei'];
  38. $item['bumen'] = $v['bumen'];
  39. $item['jixiaofen1'] = $v['jixiaofen1'];
  40. $item['jixiaofen2'] = $v['jixiaofen2'];
  41. $item['jixiaofen3'] = $v['jixiaofen3'];
  42. $item['jixiaoxishu1'] = $item['jixiaofen1'] > 100 ? 1 : $item['jixiaofen1'] / 100;
  43. $item['jixiaoxishu2'] = $item['jixiaofen2'] > 100 ? 1 : $item['jixiaofen2'] / 100;
  44. $item['jixiaoxishu3'] = $item['jixiaofen3'] > 100 ? 1 : $item['jixiaofen3'] / 100;
  45. $item['jixiaogongzijishu'] = $v['jixiaogongzijishu'];
  46. if ($v['shichuqin1'] > $v['yingchuqin1']) {
  47. return $item['xingming'] . '的第一个月实际出勤天数应小于应出勤人数,请检查';
  48. }
  49. if ($v['shichuqin2'] > $v['yingchuqin2']) {
  50. return $item['xingming'] . '的第二个月实际出勤天数应小于应出勤人数,请检查';
  51. }
  52. if ($v['shichuqin3'] > $v['yingchuqin3']) {
  53. return $item['xingming'] . '的第三个月实际出勤天数应小于应出勤人数,请检查';
  54. }
  55. $chuqinlv1 = empty($v['yingchuqin1']) ? 0 : $v['shichuqin1'] / $v['yingchuqin1'];
  56. $chuqinlv2 = empty($v['yingchuqin2']) ? 0 : $v['shichuqin2'] / $v['yingchuqin2'];
  57. $chuqinlv3 = empty($v['yingchuqin3']) ? 0 : $v['shichuqin3'] / $v['yingchuqin3'];
  58. $item['jixiaogongzi1'] = round($item['jixiaogongzijishu'] * $item['jixiaoxishu1'] * $chuqinlv1, 2);
  59. $item['jixiaogongzi2'] = round($item['jixiaogongzijishu'] * $item['jixiaoxishu2'] * $chuqinlv2, 2);
  60. $item['jixiaogongzi3'] = round($item['jixiaogongzijishu'] * $item['jixiaoxishu3'] * $chuqinlv3, 2);
  61. $item['jixiaogongziheji'] = $item['jixiaogongzi1'] + $item['jixiaogongzi2'] + $item['jixiaogongzi3'];
  62. $item['yufagongzi1'] = round($item['jixiaogongzijishu'] * 0.8 * $chuqinlv1, 2);
  63. $item['yufagongzi2'] = round($item['jixiaogongzijishu'] * 0.8 * $chuqinlv2, 2);
  64. $item['yufagongzi3'] = round($item['jixiaogongzijishu'] * 0.8 * $chuqinlv3, 2);
  65. $item['yufagongziheji'] = $item['yufagongzi1'] + $item['yufagongzi2'] + $item['yufagongzi3'];
  66. $item['bufa'] = $item['jixiaogongziheji'] - $item['yufagongziheji'];
  67. $item['gonghui'] = round($item['bufa'] * 0.005, 2);
  68. $item['shifa'] = round($item['bufa'] - $item['gonghui'], 2);
  69. $list[] = $item;
  70. }
  71. $xlsCell = [
  72. ['xuhao', '序号'],
  73. ['xingming', '姓名'],
  74. ['zhiwei', '职位'],
  75. ['bumen', '部门'],
  76. ['jixiaofen1', '绩效得分第1月'],
  77. ['jixiaofen2', '绩效得分第2月'],
  78. ['jixiaofen3', '绩效得分第3月'],
  79. ['jixiaoxishu1', '绩效系数第1月'],
  80. ['jixiaoxishu2', '绩效系数第2月'],
  81. ['jixiaoxishu3', '绩效系数第3月'],
  82. ['jixiaogongzijishu', '绩效工资基数'],
  83. ['jixiaogongzi1', '绩效工资第1月'],
  84. ['jixiaogongzi2', '绩效工资第2月'],
  85. ['jixiaogongzi3', '绩效工资第3月'],
  86. ['jixiaogongziheji', '绩效工资合计'],
  87. ['yufagongzi1', '已预发工资第1月'],
  88. ['yufagongzi2', '已预发工资第2月'],
  89. ['yufagongzi3', '已预发工资第3月'],
  90. ['yufagongziheji', '已预发工资合计'],
  91. ['bufa', '应补发绩效工资'],
  92. ['gonghui', '工会会费'],
  93. ['shifa', '实际补发绩效工资'],
  94. ];
  95. unlink($file);
  96. 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]);
  97. }
  98. }