|
|
@@ -12,7 +12,7 @@ use function fast\e;
|
|
|
|
|
|
/**
|
|
|
* 员工计件工资核算
|
|
|
-*/
|
|
|
+ */
|
|
|
class StaffSalary extends Api
|
|
|
{
|
|
|
protected $noNeedLogin = ['*'];
|
|
|
@@ -36,7 +36,7 @@ class StaffSalary extends Api
|
|
|
* @param string vacation_one_end 法定假日1 结束时间
|
|
|
* @param string vacation_two_start 法定假日2 开始时间
|
|
|
* @param string vacation_two_end 法定假日2 结束时间
|
|
|
- */
|
|
|
+ */
|
|
|
public function staffSalaryCount(){
|
|
|
if (Request::instance()->isPost() == false){
|
|
|
$this->error('非法请求');
|
|
|
@@ -53,12 +53,12 @@ class StaffSalary extends Api
|
|
|
$startDateInRange = date('Ym', strtotime($startDate)) === $attendanceMonth;
|
|
|
$endDateInRange = date('Ym', strtotime($endDate)) === $attendanceMonth;
|
|
|
if (!$startDateInRange || !$endDateInRange) {
|
|
|
- $this->error('日期参数错误');
|
|
|
+ $this->error('日期参数错误');
|
|
|
}
|
|
|
$options = [
|
|
|
'host' => '127.0.0.1',
|
|
|
'port' => 6379,
|
|
|
- 'password' => '123456',
|
|
|
+ 'password' => '',
|
|
|
'select' => 15,
|
|
|
'timeout' => 0,
|
|
|
'expire' => 0,
|
|
|
@@ -133,7 +133,7 @@ class StaffSalary extends Api
|
|
|
$data = [];
|
|
|
/**
|
|
|
* 设备_产量计酬数据
|
|
|
- */
|
|
|
+ */
|
|
|
foreach ($list as $value){
|
|
|
$num = 1;
|
|
|
$value['班组车头产量'] = $value['班组车头产量'] - $value['sczl_zcfp'];
|
|
|
@@ -248,7 +248,7 @@ class StaffSalary extends Api
|
|
|
// halt($data);
|
|
|
/**
|
|
|
* 拆片工序数据
|
|
|
- */
|
|
|
+ */
|
|
|
$query = Db::name('db_sczl')->alias('a')
|
|
|
->field('a.sczl_gdbh, a.sczl_yjno, a.sczl_gxh, sczl_type, a.sczl_rq, a.sczl_jtbh,
|
|
|
a.sczl_ms, a.sczl_cl as 班组车头产量, a.sczl_fp as sczl_zcfp, a.sczl_装版工时 as 装版工时, a.sczl_保养工时 as 保养工时,
|
|
|
@@ -314,7 +314,7 @@ class StaffSalary extends Api
|
|
|
// halt($data);
|
|
|
/**
|
|
|
* 手工检验工序数据
|
|
|
- */
|
|
|
+ */
|
|
|
$shoujianfields = "a.sczl_gdbh,a.sczl_yjgx,sczl_gxmc AS sczl_type,a.sczl_rq,a.sczl_cl AS 班组车头产量,
|
|
|
sczl_废品率系数 AS 工序难度系数,a.sczl_bh0,a.sczl_bh1,a.sczl_bh2,a.sczl_bh3,a.sczl_bh4,a.sczl_bh5,a.sczl_bh6,
|
|
|
a.sczl_bh7,a.sczl_bh8,a.sczl_bh9,a.sczl_bh10,a.sczl_bh11,b.千件工价,b.日定额,b.补产标准,d0.员工姓名 AS name0,
|
|
|
@@ -516,7 +516,7 @@ class StaffSalary extends Api
|
|
|
}
|
|
|
}
|
|
|
//halt($data);
|
|
|
- //用于存储bh对应的工时占比总和
|
|
|
+ //用于存储bh对应的工时占比总和
|
|
|
$bhTotals = [];
|
|
|
// 遍历原始数据
|
|
|
foreach ($data as $row) {
|
|
|
@@ -565,13 +565,17 @@ class StaffSalary extends Api
|
|
|
});
|
|
|
}else{
|
|
|
//如果出勤天数小于法定天数,按正常计算
|
|
|
- if (count($days[$day_bh]) <= $params['days']){
|
|
|
+ if(strpos($data['sczl_type'],'成品入仓')){
|
|
|
$pieceWorkWage = $data[$key]['达标定额']/1000*$item['千件工价']*$item['Rate'];
|
|
|
- }else{ //如果出勤天数大于法定天数,达标定额为 0,计件工资为0,超出的部分按加班工资算
|
|
|
- $data[$key]['达标定额'] = '0.00';
|
|
|
- $pieceWorkWage = '0.00';
|
|
|
+ }else{
|
|
|
+ if (count($days[$day_bh]) <= $params['days']){
|
|
|
+ $pieceWorkWage = $data[$key]['达标定额']/1000*$item['千件工价']*$item['Rate'];
|
|
|
+ }else{ //如果出勤天数大于法定天数,达标定额为 0,计件工资为0,超出的部分按加班工资算
|
|
|
+ $data[$key]['达标定额'] = '0.00';
|
|
|
+ $pieceWorkWage = '0.00';
|
|
|
+ }
|
|
|
+ $overTimePay = ($item['核算产量'] - $data[$key]['达标定额']) / 1000 *$item['千件工价'] * $item['Rate'] *1.5;
|
|
|
}
|
|
|
- $overTimePay = ($item['核算产量'] - $data[$key]['达标定额']) / 1000 *$item['千件工价'] * $item['Rate'] *1.5;
|
|
|
}
|
|
|
$data[$key]['个人计件工资'] = number_format($pieceWorkWage,2,'.', '');
|
|
|
$data[$key]['个人加班工资'] = number_format($overTimePay,2,'.', '');
|
|
|
@@ -582,7 +586,6 @@ class StaffSalary extends Api
|
|
|
$data[$key]['法定天数'] = $params['days'];
|
|
|
$data[$key]['sczl_type'] = trim($item['sczl_type']);
|
|
|
}
|
|
|
-// halt($data);
|
|
|
// 检查任务是否已经存在于队列中,如果不存在则推送任务到队列
|
|
|
if (!$redis->has($taskIdentifier)) {
|
|
|
$job = new InsertDataJob($data); // 创建任务实例
|