|
|
@@ -95,10 +95,10 @@ class EmployeeDailySalary extends Api
|
|
|
//获取工资汇总表数据
|
|
|
$res=db('绩效工资汇总')
|
|
|
->join('人事_基本资料','人事_基本资料.员工编号=绩效工资汇总.bh')
|
|
|
- ->group('绩效工资汇总.bh,LEFT(sczl_rq, 10)')
|
|
|
+ ->group('绩效工资汇总.bh,LEFT(sczl_rq, 10),绩效工资汇总.工序难度系数')
|
|
|
->where('sys_ny',$req['date'])
|
|
|
->where(['人事_基本资料.所在部门'=>['like',$req['department'].'%']])
|
|
|
- ->column('CONCAT(bh, "-", DATE_FORMAT(sczl_rq,"%Y.%m.%d")) AS rq_bh,bh,rtrim(xm) as 员工姓名,DATE_FORMAT(sczl_rq,"%Y.%m.%d") as sczl_rq,sum(个人计件工资) as 计件工资,
|
|
|
+ ->column('CONCAT(bh, "-", DATE_FORMAT(sczl_rq,"%Y/%m/%d")) AS rq_bh,bh,rtrim(xm) as 员工姓名,DATE_FORMAT(sczl_rq,"%Y/%m/%d") as sczl_rq,sum(个人计件工资) as 计件工资,
|
|
|
sum(个人加班工资) as 加班工资,sum(异常停机工时) as 计时时数');
|
|
|
|
|
|
$year=substr($req['date'],0,4);
|
|
|
@@ -112,21 +112,21 @@ class EmployeeDailySalary extends Api
|
|
|
for ($i = 1; $i <= 6; $i++) {
|
|
|
$column = $columns[$i-1];
|
|
|
$r = db('db_wgjs')
|
|
|
- ->field("DATE_FORMAT(wgjs_rq,'%Y.%m.%d') as wgjs_rq, $column as wgjs_bh, trim(员工姓名) as 员工姓名, wgjs_js$i as wgjs_js, wgjs_冲定额$i as wgjs_冲定额")
|
|
|
+ ->field("DATE_FORMAT(wgjs_rq,'%Y/%m/%d') as wgjs_rq, $column as wgjs_bh, trim(员工姓名) as 员工姓名, wgjs_js$i as wgjs_js, wgjs_冲定额$i as wgjs_冲定额")
|
|
|
->join('人事_基本资料', "人事_基本资料.员工编号=db_wgjs.$column")
|
|
|
->where(['wgjs_rq' => ['between', "$start_time,$end_time"], '人事_基本资料.所在部门' => ['like', $req['department'] . '%']])
|
|
|
->select();
|
|
|
|
|
|
$arr = array_merge($arr, $r);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
//计算wgjs总计时时数
|
|
|
$list = [];
|
|
|
foreach($arr as $v){
|
|
|
if(isset($list[$v['wgjs_bh'].'-'.$v['wgjs_rq']])){
|
|
|
$list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['计时时数']+=$v['wgjs_js'];
|
|
|
- $list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['计时工资']=floatval(number_format($list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['计时时数']*10,2, '.', ''));
|
|
|
- $list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['日工资合计']=floatval(number_format($list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['计时时数']*10,2, '.', ''));
|
|
|
+ $list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['计时工资']=floatval(number_format($list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['计时时数']*9.5,2, '.', ''));
|
|
|
+ $list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['日工资合计']=floatval(number_format($list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['计时时数']*9.5,2, '.', ''));
|
|
|
}else{
|
|
|
$list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['bh']=$v['wgjs_bh'];
|
|
|
$list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['员工姓名']=$v['员工姓名'];
|
|
|
@@ -134,11 +134,10 @@ class EmployeeDailySalary extends Api
|
|
|
$list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['计件工资']=0;
|
|
|
$list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['加班工资']=0;
|
|
|
$list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['计时时数']=$v['wgjs_js'];
|
|
|
- $list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['计时工资']=floatval(number_format($v['wgjs_js']*10,2, '.', ''));
|
|
|
- $list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['日工资合计']=floatval(number_format($v['wgjs_js']*10,2, '.', ''));
|
|
|
+ $list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['计时工资']=floatval(number_format($v['wgjs_js']*9.5,2, '.', ''));
|
|
|
+ $list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['日工资合计']=floatval(number_format($v['wgjs_js']*9.5,2, '.', ''));
|
|
|
}
|
|
|
};
|
|
|
-
|
|
|
//计算当月冲定额时长
|
|
|
$list1 = [];
|
|
|
foreach($arr as $v){
|
|
|
@@ -154,10 +153,9 @@ class EmployeeDailySalary extends Api
|
|
|
}
|
|
|
}
|
|
|
};
|
|
|
-
|
|
|
//获取每个员工计时补差天数
|
|
|
$arr1 = db('绩效工资汇总')->alias('j')
|
|
|
- ->field('j.bh,j.sczl_rq')
|
|
|
+ ->field('j.bh,j.sczl_rq,j.法定天数')
|
|
|
->join('人事_基本资料 r','r.员工编号=j.bh')
|
|
|
->group('j.bh,j.sczl_rq')
|
|
|
->where('j.sys_ny',$req['date'])
|
|
|
@@ -166,24 +164,23 @@ class EmployeeDailySalary extends Api
|
|
|
->buildSql();
|
|
|
$arr1 = db()->table($arr1 . ' t')
|
|
|
->group('t.bh, LEFT(t.sczl_rq, 7)')
|
|
|
- ->column('t.bh,count(LEFT(t.sczl_rq, 7)) as num');
|
|
|
-
|
|
|
+ ->column('t.bh,t.法定天数 as num');
|
|
|
//查询该员工当月停机工时
|
|
|
$res1=db('绩效工资汇总')
|
|
|
->join('人事_基本资料','人事_基本资料.员工编号=绩效工资汇总.bh')
|
|
|
->group('绩效工资汇总.bh,LEFT(sczl_rq, 7)')
|
|
|
->where('sys_ny',$req['date'])
|
|
|
->where(['人事_基本资料.所在部门'=>['like',$req['department'].'%']])
|
|
|
- ->column('bh,rtrim(xm) as 员工姓名,DATE_FORMAT(sczl_rq,"%Y.%m.%d") as sczl_rq,
|
|
|
+ ->column('bh,rtrim(xm) as 员工姓名,DATE_FORMAT(sczl_rq,"%Y/%m/%d") as sczl_rq,
|
|
|
sum(异常停机工时) as 计时时数');
|
|
|
-
|
|
|
//查询每条记录
|
|
|
$arr2 = db('绩效工资汇总')->alias('j')
|
|
|
- ->field('j.bh, DATE_FORMAT(j.sczl_rq,"%Y.%m.%d") as sczl_rq,
|
|
|
+ ->field('j.bh, DATE_FORMAT(j.sczl_rq,"%Y/%m/%d") as sczl_rq,
|
|
|
sum(j.达标定额) as 达标定额, j.Rate, j.千件工价, sum(j.异常停机工时) as 异常停机工时')
|
|
|
->join('人事_基本资料 r','r.员工编号=j.bh')
|
|
|
->where('j.sys_ny',$req['date'])
|
|
|
- // ->where('j.达标定额','<>',0)
|
|
|
+// ->where('j.异常停机工时','<>',0)
|
|
|
+// ->where('j.达标定额','<>',0)
|
|
|
->where(['r.所在部门'=>['like',$req['department'].'%']])
|
|
|
->group('j.bh,j.sczl_rq,j.sczl_gdbh')
|
|
|
->select();
|
|
|
@@ -202,14 +199,13 @@ class EmployeeDailySalary extends Api
|
|
|
$brr[$v['bh'].'-'.$v['sczl_rq']] = $a;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- //工资汇总表和wgjs表中共有数据汇总
|
|
|
+ //工资汇总 表和wgjs表中共有数据汇总
|
|
|
foreach($res as $k=>&$v){
|
|
|
if(array_key_exists($k,$list)){
|
|
|
$v['计时时数'] += $list[$k]['计时时数'];
|
|
|
unset($list[$k]);
|
|
|
}
|
|
|
- $v['计时工资'] = array_key_exists($k,$brr) ? floatval(number_format($v['计时时数']*10+$brr[$k],2, '.', '')) : floatval(number_format($v['计时时数']*10,2, '.', ''));
|
|
|
+ $v['计时工资'] = array_key_exists($k,$brr) ? floatval(number_format($v['计时时数']*9.5+$brr[$k],2, '.', '')) : floatval(number_format($v['计时时数']*9.5,2, '.', ''));
|
|
|
$v['日工资合计'] = floatval(number_format($v['计件工资'] + $v['加班工资'] + $v['计时工资'],2, '.', ''));
|
|
|
|
|
|
unset($v['rq_bh']);
|
|
|
@@ -243,14 +239,14 @@ class EmployeeDailySalary extends Api
|
|
|
sum(异常停机工时) as 异常停机工时, sum(车头产量占用机时) as 车头产量占用机时, 日定额,
|
|
|
sum(达标定额) as 达标定额, 千件工价, 补产标准, bh, rtrim(xm) as xm, Rate')
|
|
|
->join('工单_印件资料 g','g.Yj_Gdbh = 绩效工资汇总.sczl_gdbh AND g.yj_Yjno = 绩效工资汇总.sczl_yjno','LEFT')
|
|
|
- ->group('LEFT(sczl_rq, 10),sczl_gdbh,CONCAT(sczl_yjno, "-", sczl_gxh, "-", sczl_type),千件工价')
|
|
|
+ ->group('LEFT(sczl_rq, 10),sczl_gdbh,CONCAT(sczl_yjno, "-", sczl_gxh),千件工价,工序难度系数')
|
|
|
->where(['sys_ny'=>$req['date'],'bh'=>$req['code']])
|
|
|
->select();
|
|
|
if(!$res){
|
|
|
$this->error('失败');
|
|
|
}
|
|
|
foreach($res as &$v){
|
|
|
- $v['sczl_rq']=str_replace('-','.',$v['sczl_rq']);
|
|
|
+ $v['sczl_rq']=str_replace('-','/',$v['sczl_rq']);
|
|
|
if($v['sczl_yjno']>9){
|
|
|
$sczl_yjno=$v['sczl_yjno'];
|
|
|
}else{
|
|
|
@@ -324,7 +320,7 @@ class EmployeeDailySalary extends Api
|
|
|
$this->error('请求方式错误');
|
|
|
}
|
|
|
$req = $this->request->param();
|
|
|
- $yg = db('人事_基本资料')->where('员工姓名',$req['search'])->value('员工编号');
|
|
|
+ $yg = db('人事_基本资料')->where('员工姓名|员工编号',$req['search'])->value('员工编号');
|
|
|
if($yg){
|
|
|
$req['search']=$yg;
|
|
|
}
|
|
|
@@ -334,7 +330,7 @@ class EmployeeDailySalary extends Api
|
|
|
->where('sys_ny',$req['date'])
|
|
|
->where('bh',$req['search'])
|
|
|
// ->where(['人事_基本资料.所在部门'=>['like',$req['department'].'%']])
|
|
|
- ->column('CONCAT(bh, "-", DATE_FORMAT(sczl_rq,"%Y.%m.%d")) AS rq_bh,bh,rtrim(xm) as 员工姓名,DATE_FORMAT(sczl_rq,"%Y.%m.%d") as sczl_rq,sum(个人计件工资) as 计件工资,
|
|
|
+ ->column('CONCAT(bh, "-", DATE_FORMAT(sczl_rq,"%Y/%m/%d")) AS rq_bh,bh,rtrim(xm) as 员工姓名,DATE_FORMAT(sczl_rq,"%Y/%m/%d") as sczl_rq,sum(个人计件工资) as 计件工资,
|
|
|
sum(个人加班工资) as 加班工资,sum(异常停机工时) as 计时时数');
|
|
|
|
|
|
$year=substr($req['date'],0,4);
|
|
|
@@ -347,7 +343,7 @@ class EmployeeDailySalary extends Api
|
|
|
for ($i = 1; $i <= 6; $i++) {
|
|
|
$column = $columns[$i-1];
|
|
|
$r = db('db_wgjs')
|
|
|
- ->field("DATE_FORMAT(wgjs_rq,'%Y.%m.%d') as wgjs_rq, $column as wgjs_bh, trim(员工姓名) as 员工姓名, wgjs_js$i as wgjs_js, wgjs_冲定额$i as wgjs_冲定额")
|
|
|
+ ->field("DATE_FORMAT(wgjs_rq,'%Y/%m/%d') as wgjs_rq, $column as wgjs_bh, trim(员工姓名) as 员工姓名, wgjs_js$i as wgjs_js, wgjs_冲定额$i as wgjs_冲定额")
|
|
|
->join('人事_基本资料', "人事_基本资料.员工编号=db_wgjs.$column")
|
|
|
->where($column,$req['search'])
|
|
|
->where(['wgjs_rq' => ['between', "$start_time,$end_time"]])
|
|
|
@@ -360,8 +356,8 @@ class EmployeeDailySalary extends Api
|
|
|
foreach($arr as $v){
|
|
|
if(isset($list[$v['wgjs_bh'].'-'.$v['wgjs_rq']])){
|
|
|
$list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['计时时数']+=$v['wgjs_js'];
|
|
|
- $list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['计时工资']=floatval(number_format($list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['计时时数']*10,2, '.', ''));
|
|
|
- $list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['日工资合计']=floatval(number_format($list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['计时时数']*10,2, '.', ''));
|
|
|
+ $list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['计时工资']=floatval(number_format($list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['计时时数']*9.5,2, '.', ''));
|
|
|
+ $list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['日工资合计']=floatval(number_format($list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['计时时数']*9.5,2, '.', ''));
|
|
|
}else{
|
|
|
$list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['bh']=$v['wgjs_bh'];
|
|
|
$list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['员工姓名']=$v['员工姓名'];
|
|
|
@@ -369,8 +365,8 @@ class EmployeeDailySalary extends Api
|
|
|
$list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['计件工资']=0;
|
|
|
$list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['加班工资']=0;
|
|
|
$list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['计时时数']=$v['wgjs_js'];
|
|
|
- $list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['计时工资']=floatval(number_format($v['wgjs_js']*10,2, '.', ''));
|
|
|
- $list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['日工资合计']=floatval(number_format($v['wgjs_js']*10,2, '.', ''));
|
|
|
+ $list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['计时工资']=floatval(number_format($v['wgjs_js']*9.5,2, '.', ''));
|
|
|
+ $list[$v['wgjs_bh'].'-'.$v['wgjs_rq']]['日工资合计']=floatval(number_format($v['wgjs_js']*9.5,2, '.', ''));
|
|
|
}
|
|
|
};
|
|
|
$list1 = [];
|
|
|
@@ -390,7 +386,7 @@ class EmployeeDailySalary extends Api
|
|
|
|
|
|
//获取每个员工计时补差天数
|
|
|
$arr1 = db('绩效工资汇总')->alias('j')
|
|
|
- ->field('j.bh,j.sczl_rq')
|
|
|
+ ->field('j.bh,j.sczl_rq,j.法定天数')
|
|
|
->join('人事_基本资料 r','r.员工编号=j.bh')
|
|
|
->group('j.bh,j.sczl_rq')
|
|
|
->where('j.sys_ny',$req['date'])
|
|
|
@@ -400,7 +396,7 @@ class EmployeeDailySalary extends Api
|
|
|
->buildSql();
|
|
|
$arr1 = db()->table($arr1 . ' t')
|
|
|
->group('t.bh, LEFT(t.sczl_rq, 7)')
|
|
|
- ->column('t.bh,count(LEFT(t.sczl_rq, 7)) as num');
|
|
|
+ ->column('t.bh,t.法定天数 as num');
|
|
|
|
|
|
//查询该员工当月停机工时
|
|
|
$res1=db('绩效工资汇总')
|
|
|
@@ -409,12 +405,12 @@ class EmployeeDailySalary extends Api
|
|
|
->where('sys_ny',$req['date'])
|
|
|
->where('bh',$req['search'])
|
|
|
// ->where(['人事_基本资料.所在部门'=>['like',$req['department'].'%']])
|
|
|
- ->column('bh,rtrim(xm) as 员工姓名,DATE_FORMAT(sczl_rq,"%Y.%m.%d") as sczl_rq,
|
|
|
+ ->column('bh,rtrim(xm) as 员工姓名,DATE_FORMAT(sczl_rq,"%Y/%m/%d") as sczl_rq,
|
|
|
sum(异常停机工时) as 计时时数');
|
|
|
|
|
|
//查询每条记录
|
|
|
$arr2 = db('绩效工资汇总')->alias('j')
|
|
|
- ->field('j.bh, DATE_FORMAT(j.sczl_rq,"%Y.%m.%d") as sczl_rq,
|
|
|
+ ->field('j.bh, DATE_FORMAT(j.sczl_rq,"%Y/%m/%d") as sczl_rq,
|
|
|
sum(j.达标定额) as 达标定额, j.Rate, j.千件工价, sum(j.异常停机工时) as 异常停机工时')
|
|
|
->join('人事_基本资料 r','r.员工编号=j.bh')
|
|
|
->where('j.sys_ny',$req['date'])
|
|
|
@@ -444,7 +440,7 @@ class EmployeeDailySalary extends Api
|
|
|
$v['计时时数'] += $list[$k]['计时时数'];
|
|
|
unset($list[$k]);
|
|
|
}
|
|
|
- $v['计时工资'] = array_key_exists($k,$brr) ? floatval(number_format($v['计时时数']*10+$brr[$k],2, '.', '')) : floatval(number_format($v['计时时数']*10,2, '.', ''));
|
|
|
+ $v['计时工资'] = array_key_exists($k,$brr) ? floatval(number_format($v['计时时数']*9.5+$brr[$k],2, '.', '')) : floatval(number_format($v['计时时数']*9.5,2, '.', ''));
|
|
|
$v['日工资合计'] = floatval(number_format($v['计件工资'] + $v['加班工资'] + $v['计时工资'],2, '.', ''));
|
|
|
|
|
|
unset($v['rq_bh']);
|
|
|
@@ -593,7 +589,7 @@ class EmployeeDailySalary extends Api
|
|
|
}
|
|
|
$req = $this->request->param();
|
|
|
$res=db('绩效加班工资月度修正')->cache(true,86400)
|
|
|
- ->field('人事_基本资料.所在部门,bh,rtrim(xm) as xm,月计时时数,DATE_FORMAT(sczl_rq,"%Y.%m.%d") as sczl_rq,sczl_gdbh,sczl_yjno,sczl_gxh,
|
|
|
+ ->field('人事_基本资料.所在部门,bh,rtrim(xm) as xm,月计时时数,DATE_FORMAT(sczl_rq,"%Y/%m/%d") as sczl_rq,sczl_gdbh,sczl_yjno,sczl_gxh,
|
|
|
千件工价,Rate,sum(达标定额) as 达标定额,sum(个人计件工资) as 个人计件工资,sum(个人加班工资) as 个人加班工资,计时冲定额,sum(New_计件工资) as
|
|
|
New_计件工资,sum(New_加班工资) as New_加班工资,调整量_合计')
|
|
|
->join('人事_基本资料','人事_基本资料.员工编号=绩效加班工资月度修正.bh','LEFT')
|